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
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
Remarque : Ces fonctions sont également disponibles en syntaxe préfixée (Fonctions de gestion des threads (syntaxe préfixée)).
Les fonctions de gestion des threads sont les suivantes :
ExécuteThreadPrincipalDéclenche l'exécution de la procédure spécifiée par le thread principal de l'application.
ExécuteThreadPrincipalAsynchroneDéclenche l'exécution d'une procédure par le thread principal de l'application sans attendre la fin de l'exécution de cette procédure.
MutexCréeCrée explicitement un mutex.
MutexDébutBloque le thread courant en attendant que le mutex soit libre.
MutexDétruitDétruit explicitement un mutex.
MutexFinSignale que le thread libère le mutex.
SectionCritiqueActive une section critique nommée ou sur une variable dans une instruction de type UTILISER ... DANS.
SectionCritiqueDébutSignale le début d'une section critique : aucun autre thread ne pourra exécuter le code tant que le thread courant ne sera pas sorti de la section critique.
SectionCritiqueFinSignale la fin d'une section critique : un autre thread pourra exécuter le code.
SémaphoreCréeCrée un sémaphore.
SémaphoreDébutBloque le thread en cours en attendant que le sémaphore soit ouvert (c'est-à-dire qu'une place "libre" soit disponible dans la zone protégée).
SémaphoreDétruitDétruit explicitement un sémaphore.
SémaphoreFinAutorise un ou plusieurs threads de sortir de la zone protégée par le sémaphore.
SignalAttendBloque le thread en cours en attendant que le signal spécifié soit ouvert.
SignalCréeCrée un signal.
SignalDétruitDétruit explicitement un signal.
SignalFermeFerme un signal de synchronisation entre plusieurs threads.
SignalModifieModifie l'état d'un signal.
SignalOuvreOuvre un signal de synchronisation entre plusieurs threads.
ThreadArrêtDemandéVérifie si une demande d'arrêt a été envoyée au thread en cours d'exécution.
ThreadArrêteArrête un thread secondaire. Fonction déconseillée.
ThreadAttendAttend la fin de l'exécution du thread désigné.
ThreadAttendSignalBloque le thread en cours jusqu'à ce qu'il reçoive un signal d'un autre thread.
ThreadCourantRenvoie le nom du thread en cours d'exécution.
ThreadDemandeArrêtEnvoie une demande d'arrêt à un thread.
ThreadEnvoieSignalLe thread en cours envoie un signal au thread spécifié pour le débloquer.
ThreadEtatRenvoie l'état actuel d'un thread.
ThreadExécuteLance l'exécution d'un thread secondaire.
ThreadFinTermine l'exécution du thread en cours.
ThreadModeChange le mode de gestion des threads.
ThreadPauseTemporise le thread en cours pour la durée indiquée.
ThreadPersistantRend un thread persistant.
ThreadPrioritéRenvoie ou modifie le niveau de priorité d'un thread.
ThreadReprendRelance l'exécution d'un "thread" précédemment suspendu par la fonction ThreadSuspend. Fonction déconseillée.
ThreadSuspendSuspend temporairement l'exécution du thread désigné. Fonction déconseillée.
Il est également possible d'utiliser les types de variables suivants :
SignalAutomatiqueLe type SignalAutomatique permet de gérer un signal automatique.
SignalManuelLe type SignalManuel permet de gérer un signal manuel.
Liste des exemples associés :
Les threads Exemples unitaires (WINDEV Mobile) : Les threads
[ + ] Utilisation des threads dans une application :
- exécuter une procédure sous forme d'un thread
- arrêter un thread
- exécuter une procédure nécessitant des paramètres sous forme d'un thread
Les threads Exemples unitaires (WINDEV) : Les threads
[ + ] Utilisation des threads dans une application :
- Exécuter une procédure sous forme d'un thread
- Arrêter un thread
- Exécuter une procédure nécessitant des paramètres sous forme d'un thread
Les threads (pool) Exemples unitaires (WINDEV) : Les threads (pool)
[ + ] Utilisation des threads :
- Exécution de processus lancés en parallèle
- Limitation du nombre de threads en exécution à un instant donné

Rappel: un "thread" est un processus lancé en parallèle de l'application en cours ("thread" principal).
Il est par exemple possible de lancer l'exécution d'une tâche en traitement de fond (sauvegarde, ...).
Les threads sont très utiles dans le domaine industriel: superviseur, applications avec contrôle de process en temps réel,…
WD Utilisation des sockets Exemples didactiques (WINDEV) : WD Utilisation des sockets
[ + ] Cet exemple illustre les fonctions "Socket" de WINDEV dans une utilisation de type client/serveur.
Dans cet exemple, nous abordons deux thèmes principaux :
1/ Comment se connecter à une socket
2/ Comment accepter une demande de connexion
3/ Comment écrire ou lire sur une socket
Résumé de l'exemple livré avec WINDEV :
Cet exemple présente les différentes fonctions de gestion des sockets livrées en standard avec WINDEV. Pour utiliser cet exemple, il est nécessaire de lancer une première instance de l'exemple en mode "serveur". Ensuite, en donnant le nom de la machine faisant office de serveur et un pseudonyme, vous pouvez vous connecter à cette application en mode "client". Il est alors possible d'envoyer des messages à tous les utilisateurs connectés. Dans cet exemple, à chaque connexion est associée : un thread et une socket .
WD Transfert de fichiers par FTP Exemples complets (WINDEV) : WD Transfert de fichiers par FTP
[ + ] WD Transfert de fichiers par FTP

Cet exemple est un client FTP complet vous permettant de mémoriser plusieurs serveurs FTP. Vous pouvez alors effectuer des transferts multi-fichiers du poste local vers le serveur ou du serveur FTP vers le poste local. On utilise pour cela les fonctions standards du WLangage (FTPConnecte, etc...)
Android Notifications Persistantes Android (WINDEV Mobile) : Android Notifications Persistantes
[ + ] Cet exemple permet de créer des notifications persistantes qui apparaissent même si l'application n'est plus utilisée.
Un thread persistant lancé au démarrage de l'appareil permet d'envoyer les notifications.
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 22/06/2023

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