Threaded


Syntax
Threaded[.<type>] <variable[.<type>]> [= <expression constante>] [, ...]
Description
Threaded permet de créer une variable, un tableau, une liste chaînée ou une map qui sera persistant pour chaque thread. C'est à dire que chaque thread aura sa propre version de l'objet. C'est uniquement utile lors de l'écriture de programmes multi-threadés.
Si un type est spécifié après le mot-clef Threaded, le type par défaut pour cette déclaration est modifié.

Chaque variable peut avoir une valeur par défaut assignée, mais cette valeur doit être une constante. Lors de la déclaration d'un tableau threadé, les paramètres de dimensionnement doivent être des valeurs constantes.

Un objet threadé ne peut pas être déclaré dans une procédure, et sa portée est toujours globale.

Exemple: Avec une variable

  Threaded Counter
  
  Counter = 128
  
  Procedure Thread(Parameter)
    
    Debug Counter ; Affichera zero, car ce thread n'a pas encore utilise cette variable
    Counter = 256
    Debug Counter ; Affichera 256
    
  EndProcedure
  
  Thread = CreateThread(@Thread(), 0)
  WaitThread(Thread) ; Attente de la fin d'exécution du thread.
  
  Debug Counter ; Affichera 128, meme si 'Counter' a ete change dans le thread