Vérification de l'arrêt par d'autres threads

De RAD Studio
Aller à : navigation, rechercher

Remonter à Ecriture de la fonction Thread


Un objet thread commence son exécution quand la méthode Execute est appelée (voir Exécution d'objets thread) et se poursuit jusqu'à l'arrêt de Execute. Cela correspond à une situation dans laquelle le thread effectue une tâche spécifique puis s'arrête une fois celle-ci terminée. Dans certains cas, une application a besoin qu'un thread poursuive son exécution jusqu'à ce qu'un critère externe soit respecté.

Il est possible de permettre à d'autres threads de signaler qu'il est temps que votre thread arrête de s'exécuter en testant la propriété Terminated. Quand un autre thread tente de terminer votre thread, il appelle la méthode Terminate. Terminate affecte la valeur True à la propriété Terminated de votre thread. C'est à la méthode Execute de votre thread d'implémenter la méthode Terminate en testant la valeur de la propriété Terminated. L'exemple suivant illustre une manière de procéder :

procedure TMyThread.Execute;
begin
  while not Terminated do
  PerformSomeTask;
end;
void __fastcall TMyThread::Execute() {
    while (!Terminated)
        PerformSomeTask();
}

Voir aussi