2009-08-11 9 views
5

In meinem Programm habe ich eine sehr lange Aufgabe, die von GUI (WPF) unterbrochen werden sollte. Irgendwelche Ratschläge zum Threading von Architektur?Gewinde in C#. Unterbrechbare Aufgabe

Diese Aufgabe sieht aus wie N-Thread mit einem solchen Code:

public void DoLongOperation() 
{ 
    for(int i=beginPoint; i<endPoint; i++) 
    { 
     doSomethingStupid(dataArray[i]); 
    } 
} 

Antwort

-1

Nun, Sie können entweder überprüfen, ob es gestoppt werden sollte, jede Schleife Iteration, indem Sie eine Bool überprüfen. Oder einfach .interrupt(), und handle mit der Ausnahme (wenn es sicher ist, dass sie zu irgendeinem Zeitpunkt getötet wird).

0

.Interrupt() auf einem Thread ist nicht der gute Weg, der einzige gute Weg ist mit einem Bool, wie Sie in Ihrer Antwort sagen.