Stop vs. Break in Parallel.ForC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Stop vs. Break in Parallel.For

Post by Anonymous »

Ich habe Schwierigkeiten, loopState.Stop() und loopState.Break() zu verstehen. Ich habe MSDN und mehrere Beiträge darüber gelesen, bin aber immer noch verwirrt.

Was ich verstehe ist, dass jeder Iterationspartitionierer verbleibende Indizes für die Verarbeitung von Threads bereitstellt und loopState.Stop() alle Threads stoppt und loopState.Break() den aktuellen Thread stoppt.

Betrachten wir jedoch die folgende Situation:

Code: Select all

Parallel.For(0, 100, (i, loopState) =>
{
if (i >= 10)
loopState.Break();
Debug.Write(i);
});
Für diese Schleife habe ich folgendes Ergebnis:

Code: Select all

0 25 1 2 3 4 5 6 7 8 9 10
Ich habe keine Ahnung, warum im Ergebnis 10 und 25 Zahlen stehen.

Kann jemand helfen?

P.S. Ich habe eine i5 520M CPU (2 Kerne => 4 Threads)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post