DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion des traitements / Tâches parallèles
  • Déclaration
  • Propriétés spécifiques à la description des variables de type TâcheParallèle
  • Fonctions WLangage utilisant des variables de type TâcheParallèle
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
Le type TâcheParallèle permet de manipuler une tâche, c'est-à-dire une procédure exécutée par un thread dans le cadre de la programmation parallèle.
Remarque : Pour plus de détails sur la déclaration de ce type de variable et l'utilisation des propriétés WLangage, consultez Déclaration d'une variable.
Exemple
// Déclare une variable pour manipuler une tâche parallèle
t est une TâcheParallèle
// Construit une tâche parallèle et déclenche son exécution sur une procédure
t = TâcheParallèleExécute(Proc, ("Premier paramètre", 2))
// Construit une tâche parallèle
t est une TâcheParallèle(Proc, ("Premier paramètre", 2))
// Déclenche l'exécution de la tâche parallèle
TâcheParallèleExécute(t)
// Décrit une tâche parallèle
d est une Description de TâcheParallèle
d.Procédure = Proc
d.Paramètre[1] = "Premier paramètre"
d.Paramètre[2] = 2
// Construit une tâche parallèle et déclenche son exécution
t est une TâcheParallèle = TâcheParallèleExécute(d)
Déclaration

Déclarer une tâche parallèle non décrite Masquer les détails

MaVariable est une TâcheParallèle
Dans ce cas, la tâche n'est pas décrite. La variable devra être affectée avec une tâche existante ou avec le résultat d'une des fonctions d'exécution des tâches parallèles.

Décrire une tâche parallèle via le type TâcheParallèle Masquer les détails

MaVariable est une TâcheParallèle(<Procédure> [, <Paramètres> [, <Options>]])
<Procédure> : Chaîne de caractères ou variable de type Procédure
Procédure à exécuter. Ce paramètre peut correspondre :
  • au nom de la procédure à exécuter.
  • au nom de la variable de type Procédure correspondant à la procédure à exécuter.
<Paramètres> : Liste de valeurs entre parenthèses et séparées par des virgules
Paramètres de la procédure à exécuter. Cette liste de paramètres est de la forme :
(<Paramètre 1>, ..., <Paramètre N>)
où :
  • <Paramètre 1> : Premier paramètre de la procédure.
  • ...
  • <Paramètre N> : Nième paramètre de la procédure.
<Options> : Constante optionnelle de type Entier
Options de la tâche à exécuter :
tpoCopieComplèteContexteHFSQLProvoque la copie immédiate du contexte HFSQL courant.
Conseillé par exemple si la tâche parallèle doit tenir compte des positions en cours dans les fichiers et requêtes du contexte de l'appelant.
tpoCopieDifféréeContexteHFSQL
(Valeur par défaut)
Provoque une copie légère du contexte HFSQL lors du premier accès aux données HFSQL.
tpoCopieLégèreContexteHFSQLProvoque la copie immédiate d'une partie du contexte HFSQL courant.
Seuls les répertoires où se trouvent les fichiers de données en HFSQL Classic et/ou les connexions en HFSQL Client/Serveur sont mémorisés.
tpoThreadPrincipalExécute la tâche dans le thread principal.
Attention : Cette constante ne peut pas être utilisée pour exécuter une tâche parallèle dans le thread principal depuis le thread principal.
Dans ce cas, la tâche est décrite et sa description ne peut plus être modifiée.
La tâche n'est pas planifiée automatiquement, une déclaration seule ne provoquera donc pas l'exécution de la tâche. Il faut appeler une des fonctions d'exécution des tâches pour déclencher l'exécution de la tâche.

Décrire une tâche parallèle via une Description de TâcheParallèle Masquer les détails

MaVariable est une TâcheParallèle(<Description>)
<Description> : Variable de type Description de TâcheParallèle
Nom de la variable de type Description de TâcheParallèle décrivant la tâche.
Dans ce cas, la tâche est décrite et sa description ne peut plus être modifiée.
La tâche n'est pas planifiée automatiquement, une déclaration seule ne provoquera donc pas l'exécution de la tâche. Il faut appeler une des fonctions d'exécution des tâches pour déclencher l'exécution de la tâche.
Remarques

Propriétés spécifiques à la description des variables de type TâcheParallèle

Les propriétés suivantes peuvent être utilisées pour manipuler une tâche parallèle :
Nom de la propriétéType manipuléEffet
AnnuléeBooléen
  • Vrai si la tâche est annulée,
  • Faux dans le cas contraire.
Cette propriété est disponible en lecture seulement.
EtatConstante de type EntierEtat de la tâche :
  • tpeAnnulée : la tâche parallèle est annulée (fonction TâcheParallèleAnnule).
  • tpeAnnulationDemandée : une demande d'annulation a été faite sur la tâche parallèle (fonction TâcheParallèleDemandeAnnulation).
  • tpeAttenteExécution : la tâche parallèle est en attente d'exécution.
  • tpeAttentePrécédente : la tâche parallèle attend l'exécution d'une tâche parallèle précédente.
  • tpeExécutionEnCours : la tâche parallèle est en cours d'exécution.
  • tpeNonPlanifiée : la tâche parallèle n'est pas planifiée.
  • tpeTerminée : la tâche parallèle est terminée.
Cette propriété est disponible en lecture seulement.
IdentifiantEntierIdentifiant de tâche. Cet identifiant peut être utilisé par exemple à des fins de débogage.
Cette propriété est disponible en lecture seulement.
TerminéeBooléen
  • Vrai si la tâche est terminée,
  • Faux dans le cas contraire.
Cette propriété est disponible en lecture seulement.
ValeurRenvoyéeValeur renvoyée par la tâche. Attention :
  • Si la tâche est toujours en cours, la propriété ValeurRenvoyée attend la fin de la tâche.
  • Si la tâche est terminée sans erreur fatale, la propriété renvoie la ou les valeurs de retour de la procédure de la tâche.
Cette propriété est disponible en lecture seulement.

Fonctions WLangage utilisant des variables de type TâcheParallèle

Version minimum requise
  • Version 20
Documentation également disponible pour…
Commentaires
Cas spécifique d'une procédure sans paramètres en Android
Attention : en Android il faut IMPERATIVEMENT mettre les parenthèses pour indiquer qu'il n'y a pas de paramètre sinon ça plante.

Exemples : Proc n'a pas de paramètre.
////////////////EXEMPLE 1 le code plante en Android //////
// Construit une tâche parallèle
t est une TâcheParallèle(Proc)
// Déclenche l'exécution de la tâche parallèle
TâcheParallèleExécute(t)
//////////////// FIN DE L'EXEMPLE 1 //////

////////////////EXEMPLE 2 le code est OK en Android //////
// Construit une tâche parallèle
t est une TâcheParallèle(Proc, ())
// Déclenche l'exécution de la tâche parallèle
TâcheParallèleExécute(t)
//////////////// FIN DE L'EXEMPLE 2 //////

Jérôme
07 déc. 2020

Dernière modification : 22/07/2022

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