|
|
|
|
|
Fonctions de gestion des threads
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écuteThreadPrincipal | Déclenche l'exécution de la procédure spécifiée par le thread principal de l'application. | ExécuteThreadPrincipalAsynchrone | Dé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ée | Crée explicitement un mutex. | MutexDébut | Bloque le thread courant en attendant que le mutex soit libre. | MutexDétruit | Détruit explicitement un mutex. | MutexFin | Signale que le thread libère le mutex. | SectionCritique | Active une section critique nommée ou sur une variable dans une instruction de type UTILISER ... DANS. | SectionCritiqueDébut | Signale 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. | SectionCritiqueFin | Signale la fin d'une section critique : un autre thread pourra exécuter le code. | SémaphoreCrée | Crée un sémaphore. | SémaphoreDébut | Bloque 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étruit | Détruit explicitement un sémaphore. | SémaphoreFin | Autorise un ou plusieurs threads de sortir de la zone protégée par le sémaphore. | SignalAttend | Bloque le thread en cours en attendant que le signal spécifié soit ouvert. | SignalCrée | Crée un signal. | SignalDétruit | Détruit explicitement un signal. | SignalFerme | Ferme un signal de synchronisation entre plusieurs threads. | SignalModifie | Modifie l'état d'un signal. | SignalOuvre | Ouvre 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ête | Arrête un thread secondaire. Fonction déconseillée. | ThreadAttend | Attend la fin de l'exécution du thread désigné. | ThreadAttendSignal | Bloque le thread en cours jusqu'à ce qu'il reçoive un signal d'un autre thread. | ThreadCourant | Renvoie le nom du thread en cours d'exécution. | ThreadDemandeArrêt | Envoie une demande d'arrêt à un thread. | ThreadEnvoieSignal | Le thread en cours envoie un signal au thread spécifié pour le débloquer. | ThreadEtat | Renvoie l'état actuel d'un thread. | ThreadExécute | Lance l'exécution d'un thread secondaire. | ThreadFin | Termine l'exécution du thread en cours. | ThreadMode | Change le mode de gestion des threads. | ThreadPause | Temporise le thread en cours pour la durée indiquée. | ThreadPersistant | Rend un thread persistant. | ThreadPriorité | Renvoie ou modifie le niveau de priorité d'un thread. | ThreadReprend | Relance l'exécution d'un "thread" précédemment suspendu par la fonction ThreadSuspend. Fonction déconseillée. | ThreadSuspend | Suspend temporairement l'exécution du thread désigné. Fonction déconseillée. | Il est également possible d'utiliser les types de variables suivants :
| | SignalAutomatique | Le type SignalAutomatique permet de gérer un signal automatique. | SignalManuel | Le type SignalManuel permet de gérer un signal manuel. |
Liste des exemples associés :
|
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
|
|
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
|
|
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,…
|
|
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 .
|
|
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 (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.
|
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|