Threaded


Syntax
Threaded[.<Typ>] <Variable[.<Typ>]> [= <konstanter Ausdruck>] [, ...]
Beschreibung
Threaded ermöglicht das Erstellen von Thread-basierten beständigen Variablen, Arrays, LinkedLists oder Maps.

Das bedeutet, dass jeder Thread seine eigene Version des Objekt haben wird. Dies ist nur nützlich beim Schreiben von "multithreaded" Programmen (mit mehreren Prozessen). Wenn nach Threaded ein Typ angegeben wird, dann wird der Standard-Typ für diese Deklaration geändert.

Jeder Variable kann direkt ein Standard-Wert zugewiesen werden, aber dies muss ein konstanter Wert sein. Beim Deklarieren eines "Threaded" Array, muss der Dimensions-Parameter ebenfalls ein konstanter Wert sein.

Ein "Threaded" Objekt kann nicht in einer Prozedur deklariert werden, sein Geltungsbereich ist immer global.

Beispiel: Mit Variablen

  Threaded Counter
  
  Counter = 128
  
  Procedure Thread(Parameter)
    
    Debug Counter ; Wird null anzeigen, da dieser Thread diese Variable bisher nicht verwendet hat
    Counter = 256
    Debug Counter ; Wird 256 anzeigen
    
  EndProcedure
  
  Thread = CreateThread(@Thread(), 0)
  WaitThread(Thread) ; Warte auf das Beenden des Threads
  
  Debug Counter ; Wird 128 anzeigen, auch wenn 'Counter' innerhalb des Threads verändert wurde