|
|
|
|
|
<Variable SignalManuel>.Ouvre (Fonction) En anglais : <ManualEvent variable>.Open Ouvre un signal de synchronisation entre plusieurs threads. // Création d'un signal Signal_Allezy est un SignalManuel(signalFermé)  // Exécution d'un premier thread ThreadExécute("Thread1", threadNormal, "Thread_Premier") // Bloque le thread en cours jusqu'à l'obtention du signal ThreadAttendSignal() // Exécution d'un second thread ThreadExécute("Thread2", threadNormal, "Thread_Second")  // Bloque le thread en cours jusqu'à l'obtention du signal ThreadAttendSignal()  // Ouvre le signal pour exécuter les threads Signal_Allezy.Ouvre()
PROCÉDURE Thread_Premier()
Trace(dbgInfo(dbgTraitement) + " - ThreadEnvoieSignal(threadPrincipal)")
ThreadEnvoieSignal(threadPrincipal)
Signal_Allezy.Attend()
Trace(dbgInfo(dbgTraitement) + " - Signal reçu")
PROCÉDURE Thread_Second()
Trace(dbgInfo(dbgTraitement) + " - ThreadEnvoieSignal(threadPrincipal)")
ThreadEnvoieSignal(threadPrincipal)
Signal_Allezy.Attend()
Trace(dbgInfo(dbgTraitement) + " - Signal reçu")
Syntaxe <Signal> : Variable de type SignalManuel Nom d'une variable de type SignalManuel à ouvrir. Remarques - Cette fonction est équivalente à la syntaxe suivante de la fonction SignalModifie :
SignalModifie(<Signal>, signalOuvert) - Cas d'un signal manuel : Le signal passe à l'état ouvert.
- Threads en attente : Tous les threads en attente passent.
- Nouveaux threads : Si d'autres threads arrivent alors que le signal est encore ouvert, ils passent.
Classification Métier / UI : Code neutre
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|