2011-07-24 2 views

Répondre

3

Vous pouvez utiliser ContinueWhenAll, donc vous serez notifié lorsque tous les processus terminés.

0

J'appelle méthode multithread de tâche (à la fin)

Motif méthode multithrea:

private void SomeEventHandler(object sender, EventArgs e) 
{ 
MethodInvoker method = delegate 
    { 
     uiSomeTextBox.Text = "some text"; 
    }; 

if (InvokeRequired) 
    BeginInvoke(method); 
else 
    method.Invoke(); 

}

Vous pouvez travailler en toute sécurité avec WFA comme dans bacroundWorker

Lorsque l'algorithme dans BackGrounWorker com Pour revenir, il génère un événement sur la fin du travail. Mais l'objet thread peut toujours continuer à exister. C'est la singularité intérieure Windows et CLR, - Threads qui peuvent exister pendant un certain temps après la mort.

+0

: Dans quelle ligne de ce code vous pouvez savoir que votre travail se termine? – Arian

+0

Je suis appelé à la fin de la méthode des tâches, ce n'est pas très bon parce que la tâche peut toujours fonctionner, mais je ne trouve pas d'autre moyen. –

+0

Si je comprends bien, vous devez travailler en toute sécurité lorsque votre Yask est ower. –

Questions connexes