|
|
|
|
<Variable SignalAutomatique>.Ouvre (Fonction) En anglais : <AutomaticEvent variable>.Open Ouvre un signal de synchronisation entre plusieurs threads. // Création d'un signal Signal_Allezy est un SignalAutomatique(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 SignalAutomatique Nom d'une variable de type SignalAutomatique à ouvrir. Remarques - Cette fonction est équivalente à la syntaxe suivante de la fonction SignalModifie :
SignalModifie(<Signal>, signalOuvert) - Cas d'un signal automatique : Le signal laisse passer un seul thread.
Le signal se referme automatiquement après le passage du thread. - Threads en attente : Si aucun thread n'était en attente, le signal reste ouvert jusqu'au prochain thread qui passe, puis se referme.
- Nouveaux threads : Si d'autres threads arrivent, ils sont mis en attente.
Classification Métier / UI : Code neutre
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|