2009-08-11 6 views
5

Dans mon programme, j'ai une tâche très longue qui devrait être interrompue depuis l'interface graphique (WPF). Des conseils sur l'architecture de threading?Filetage en C#. Tâche interruptible

Cette tâche ressemble fil N avec ce code:

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

Répondre

-1

Eh bien, vous pouvez vérifier si elle doit être arrêtée, à chaque itération de la boucle, en vérifiant un booléen. Ou juste .interrupt(), et gérer l'exception (s'il est sûr de pouvoir être tué à tout moment).

0

.Interrupt() sur un thread n'est pas la bonne façon, la seule bonne façon est avec un bool comme vous le dites dans votre réponse.