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
  • Présentation
  • D'une gestion simple des threads vers une gestion avancée
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
Présentation
WINDEV et WINDEV Mobile mettent à votre disposition des fonctions qui permettent de réaliser une gestion avancée des threads.
Les threads permettent d'exécuter du code (ou des traitements) en parallèle de l'application principale. Il est ainsi possible d'exécuter plusieurs traitements différents en tâche de fond, sans bloquer l'application principale.
Les threads remplacent certains types de timer.
Un thread efficace est un thread qui attend un événement, par exemple, une action de l'utilisateur, la réception d'un email, la réception d'un appel téléphonique, ...
Quelques exemples d'utilisation des threads :
  • Récupération d'emails en tâche de fond, pendant la saisie d'un nouvel email par exemple.
  • Application de communication : gestion des appels téléphoniques, communication par socket, ...
D'une gestion simple des threads vers une gestion avancée
WINDEV offre plusieurs possibilités dans la gestion des threads :
Liste des exemples associés :
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 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 (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 ThreadUI Exemples didactiques (WINDEV) : WD ThreadUI
[ + ] L'utilisation de threads ou de tâches parallèles est très souvent obligatoire afin de répondre au besoin de rapidité des utilisateurs.
Avec le WLangage de WINDEV, le lancement de traitements en tâche de fond est simplifié à l'extrême avec :
- les fonctions de gestion des threads,
- le type Thread,
- les tâches parallèles.
Mais attention, s'il est facile de lancer un traitement en arrière plan, il faut néanmoins être précautionneux sur l'UI de l'application : seuls les traitements exécutés dans le thread principal sont autorisés à mettre à jour l'interface (affecter un champ, remplir une liste, combo, table, zone répétée...).
Cet exemple vous montre 4 façons de mettre à jour l'UI de vos applications avec des données provenant de threads secondaires.
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 17/07/2024

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