Comment puis-je connaître une tâche terminée? Je veux une chose comme RunWorkerCompleted
événement dans BackGroundWorker
.Comment appeler une procédure après avoir terminé la tâche
grâce
Comment puis-je connaître une tâche terminée? Je veux une chose comme RunWorkerCompleted
événement dans BackGroundWorker
.Comment appeler une procédure après avoir terminé la tâche
grâce
Vous pouvez utiliser ContinueWhenAll
, donc vous serez notifié lorsque tous les processus terminés.
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.
: Dans quelle ligne de ce code vous pouvez savoir que votre travail se termine? – Arian
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. –
Si je comprends bien, vous devez travailler en toute sécurité lorsque votre Yask est ower. –