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
  • Cas particulier : Arrêt d'un thread contenant la fonction SocketAttendConnexion
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
Avertissement
L'utilisation de cette fonction est fortement déconseillée car elle arrête violemment le thread en pleine activité. Elle peut provoquer des problèmes graves (écriture de fichier incomplète, perte de mémoire, section critique non libérée, ...). Il est conseillé d'utiliser les fonctions ThreadDemandeArrêt et ThreadArrêtDemandé.
Arrête un thread secondaire.
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, ...).
Syntaxe
<Résultat> = ThreadArrête(<Nom du thread> [, <Durée maximale>])
<Résultat> : Booléen
  • Vrai si le thread s'est arrêté ou si le thread n'existe pas,
  • Faux si le thread est bloqué
<Nom du thread> : Chaîne de caractères
Nom du thread à arrêter. Ce nom est donné lors de l'exécution du thread (fonction ThreadExécute).
Cas particuliers :
  • Si ce paramètre correspond à une chaîne vide (""), le thread en cours est arrêté. Si le thread en cours est le thread principal, la fonction ThreadArrête est équivalente à la fonction FinProgramme.
    Universal Windows 10 App Seul ce fonctionnement est autorisé. La fonction ThreadArrête peut être utilisée uniquement sur le thread courant.
  • Si le nom du thread n'existe pas, la fonction ThreadArrête ne fait rien et renvoie Vrai.
  • Si le nom du thread est un thread fils ou frère, la fonction ThreadArrête attend que la fonction du WLangage en cours (par exemple HLitPremier) soit terminée. Dans ce cas, la fonction ThreadArrête est bloquante.
  • Si ce paramètre correspond à la constante ThreadPrincipal, le thread principal est arrêté.
  • Dans les autres cas, une erreur du WLangage est générée.
<Durée maximale> : Entier optionnel
Nombre de centièmes de seconde d'attente maximale.
  • Si à la fin de la durée spécifiée, le thread n'est pas arrêté, <Résultat> est égal à Faux.
  • Si ce paramètre n'est pas spécifié ou si la constante Infinie est utilisée, l'attente est infinie.
Ce paramètre peut correspondre à :
  • un entier correspondant au nombre de centièmes de seconde,
  • une variable de type Durée,
  • l'indication directe de la durée (par exemple 1 s ou 10 ms).
Remarques

Cas particulier : Arrêt d'un thread contenant la fonction SocketAttendConnexion

Pour que le thread soit correctement arrêté avec la fonction ThreadArrête, il est nécessaire de mettre la fonction bloquante SocketAttendConnexion dans une boucle :
Durée = 30
BOUCLE
SocketAttendConnexion("MaSocket", Durée)
FIN
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