2009-08-11 13 views
5

W moim programie mam bardzo długie zadanie, które powinno być przerywane z GUI (WPF). Wszelkie porady dotyczące architektury wątków?Nawlekanie w C#. Przerwane zadanie

Zadanie to wygląda wątku N z takim kodem:

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

Odpowiedz

-1

Cóż, możesz sprawdzić, czy ma zostać zatrzymany, każda iteracja pętli, sprawdzając bool. Lub po prostu przerwij() i obsłuż wyjątek (jeśli można go bezpiecznie zabić w dowolnym momencie).

0

. Przerwanie() na wątku nie jest dobrą drogą, jedynym dobrym sposobem jest bool, jak mówisz w swojej odpowiedzi.

Powiązane problemy