| Operatoren |
create_event — Erzeugen eines Event-Synchronisationsobjektes.
create_event( : : AttribName, AttribValue : EventHandle)
Ein Event ist ein Mutex, der keinem Thread gehört. D.h., er kann von einem anderen Thread freigegeben werden als von dem, der ihn gesperrt hat. Daher werden Events meist dann eingesetzt, wenn ein Thread einem anderem, wartenden Thread signalisieren soll, dass dieser weiterlaufen kann. Dieses Verständnis von Events leitet sich aus der Definition eines Events der WIN32-API oder der einer Semaphore (mit Zähler 0) der POSIX-Thread-Spezifikation ab.
create_event legt ein Eventobjekt an und initialisiert es entsprechend der Attribute, die über die Parameter AttribName und AttribValue gesetzt werden. AttribName definiert die Klasse und AttribValue den Typ des Events. Im Folgenden werden die möglichen Attributwerte für die gelisteten Attributnamen beschrieben:
der leere String setzt die Standardattribute.
spezifiziert das Verhalten eines Events, wenn ein Thread auf ein Signal warten muss:
unterbricht den aufrufenden Thread und legt ihn schlafen (Standard).
ist die schnelle Implementierung eines Events, die in einer Schleife auf die Signalisierung des Events wartet. Dieser Typ ist nicht rekursiv.
Nach der Initialisierung ist ein Event gesperrt.
Event-Attribut.
Defaultwert: []
Werteliste: 'type'
Event-Attributwert.
Parameteranzahl: AttribValue == AttribName
Defaultwert: []
Werteliste: 'sleep', 'spin'
Event-Synchronisationsobjekt.
Sind die Parameterwerte korrekt, dann liefert create_event den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
wait_event, signal_event, clear_event
Foundation
| Operatoren |