|
|
|
|
|
ThreadFin (Fonction) En anglais : ThreadEnd Arrête l'exécution du thread courant. Remarques - Si le thread en cours est le thread principal, la fonction ThreadFin est équivalente à la fonction FinProgramme : l'application est arrêtée.
- Pour arrêter un thread secondaire :
- Première méthode :
- Utiliser la fonction ThreadDemandeArrêt depuis le thread qui doit demander l'arrêt. Le thread secondaire ne sera pas arrêté automatiquement.
- Le code du thread secondaire doit vérifier si l'arrêt est demandé grâce à la fonction ThreadArrêtDemandé. Il doit alors se terminer "proprement" en terminant le code en cours ou en appelant la fonction ThreadFin.
- Seconde méthode : Il est également possible de mettre en place un système d'arrêt grâce à la fonction ThreadFin. Il est par exemple possible de :
- Dans le thread principal, déclarer une variable globale de type Booléen. Cette variable permet de savoir si le thread secondaire doit s'arrêter.
- Dans le thread secondaire, tester la valeur de la variable. Si cette valeur est à Vrai, utiliser la fonction ThreadFin pour terminer le thread secondaire en cours.
- Dans le thread principal, mettre la variable à Vrai pour forcer l'arrêt du thread secondaire.
Exemple :
gbFin est un booléen <section critique>
gbFin = Faux
...
ThreadExécute("Thread1", threadNormal, ProcédureThread)
...
gbFin = Vrai
// Code du thread secondaire ... SI gbFin = Vrai ALORS ThreadFin() ...
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|