|
|
|
|
|
- Déclaration
- Utilisation des variables de type SignalAutomatique
SignalAutomatique (Type de variable) En anglais : AutomaticEvent
Le type SignalAutomatique permet de gérer un signal automatique. Un signal automatique permet de faciliter la synchronisation entre plusieurs threads. Après son ouverture, un signal de type "Automatique" est automatiquement refermé dès qu'un unique thread est débloqué. Remarque : Il est préférable d'utiliser une variable de type SignalAutomatique ou SignalManuel pour créer un signal plutôt que le nommer en utilisant une chaîne de caractères. En effet, dans le cas de l'utilisation d'une variable, il est possible de : - gérer la portée de la variable,
- éviter que 2 signaux aient le même nom dans 2 threads différents.
// THREAD PRINCIPAL //------------------ // Définition du signal s est un SignalAutomatique // Lancement du thread ThreadExécute("Thread", threadNormal, ProcThread, s)  // Code en parallèle du thread ... // On attend le signal déclenché par le thread SignalAttend(s) // THREAD SECONDAIRE // ---------------------- PROCÉDURE ProcThread(s)  // Code dans le thread ... // Déblocage du thread principal SignalOuvre(s)
Déclarer un signal automatique (syntaxe simple) Masquer les détails
MaVariable est un SignalAutomatique
Dans ce cas, le signal automatique créé est dans l'état fermé.
Déclarer un signal automatique (syntaxe avancée) Masquer les détails
MaVariable est un SignalAutomatique(<Etat initial>)
<Etat initial> : Constante de type Entier Etat du signal à sa création :
| | signalOuvert | Le signal est ouvert lors de sa création. | signalFermé | Le signal est fermé lors de sa création. |
Remarques Utilisation des variables de type SignalAutomatique Les variables de type SignalAutomatique peuvent être utilisées pour synchroniser des threads entre eux dans les fonctions : - syntaxe classique :
| | SignalAttend | Bloque le thread en cours en attendant que le signal spécifié soit ouvert. | SignalFerme | Ferme un signal de synchronisation entre plusieurs threads. | SignalOuvre | Ouvre un signal de synchronisation entre plusieurs threads. |
- syntaxe préfixée :
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|