DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion des traitements / Threads, sémaphores, signaux et mutex
  • Tableau récapitulatif du fonctionnement des signaux
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Modifie l'état d'un signal.
Exemple
// Création d'un signal
SignalCrée("Allez-y", 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()

// Modifie le signal pour exécuter les threads
SignalModifie("Allez-y", signalOuvert)
//----------------------------------------------
PROCÉDURE Thread_Premier()
Trace(dbgInfo(dbgTraitement) + " - ThreadEnvoieSignal(threadPrincipal)")
ThreadEnvoieSignal(threadPrincipal)
SignalAttend("Allez-y")
Trace(dbgInfo(dbgTraitement) + " - Signal reçu")
//--------------------------------------------
PROCÉDURE Thread_Second()
Trace(dbgInfo(dbgTraitement) + " - ThreadEnvoieSignal(threadPrincipal)")
ThreadEnvoieSignal(threadPrincipal)
SignalAttend("Allez-y")
Trace(dbgInfo(dbgTraitement) + " - Signal reçu")
Syntaxe
SignalModifie(<Signal> [, <Nouvel état>])
<Signal> : Chaîne de caractères
Nom du signal à modifier. Si ce signal n'existe pas, le signal est automatiquement créé avec les options par défaut (mode automatique), et dans l'état spécifié.
<Nouvel état> : Constante optionnelle
Etat du signal :
signalFerméFerme le signal.
Cette constante est équivalente à la fonction SignalFerme.
signalOuvert
(Valeur par défaut)
Ouvre le signal. Si des threads sont en attente du signal, ils sont automatiquement débloqués.
Cette constante est équivalente à la fonction SignalOuvre.
signalOuvertEtFerméOuvre le signal, débloque tous les threads en attente et referme le signal. Cette constante n'est pas conseillée. Elle est conservée par compatibilité.
Remarques

Tableau récapitulatif du fonctionnement des signaux

Valeur de SignalModifieSignal automatique (par défaut)Signal manuel
signalOuvertLe 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.
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.
signalOuvertEtFermé Cette constante n'est pas conseillée. Elle est conservée par compatibilité.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'est en attente, le signal reste fermé.
Nouveaux threads : Si d'autres threads arrivent, ils sont mis en attente.
Le signal laisse passer tous les threads.
Le signal se referme automatiquement après le passage de tous les threads.
Nouveaux threads : Si d'autres threads arrivent, ils sont mis en attente.
signalFerméLe signal reste fermé.
Nouveaux threads : Si d'autres threads arrivent, ils sont mis en attente.
Le signal se ferme.
Nouveaux threads : Si d'autres threads arrivent, ils sont mis en attente.
Composante : wd300vm.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 21/06/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale