Referenz - CONDWAIT
Syntax: CONDWAIT (handle, mutex)
Typ: Anweisung
Kategorie: Multithreading
COND steht für "conditional variable". Ebenso wie MUTEXe (siehe MUTEXCREATE) stellen diese eine Möglichkeit dar, Threads (siehe THREADCREATE) zu synchronisieren.
- 'handle' ist der Handle zu einem COND, also der Wert, der von CONDCREATE zur Identifizierung des COND zurückgegeben wird. Es ist ein ANY PTR.
- 'mutex' ist der Mutex, der mit diesem COND verknüpft ist und der während der Überprüfung des COND und während des Aufrufs von CONDWAIT gesperrt werden muss.
CONDWAIT wartet mit der Ausführung eines Threads, bis ein CONDSIGNAL oder ein CONDBROADCAST ein Signal für diesen Handle aussendet, sodass der Thread fortgesetzt wird.
Das mit CONDWAIT verwendete Mutex sollte vor dem Befehl mit MUTEXLOCK gesperrt, und gleich danach mit MUTEXUNLOCK entsperrt werden.
Beispiel: siehe CONDCREATE
Unterschiede zu QB: neu in FreeBASIC
Plattformbedingte Unterschiede:
In der DOS-Version von FreeBASIC steht CONDWAIT nicht zur Verfügung, da Threads nicht unterstützt werden.
Unterschiede zu früheren Versionen von FreeBASIC:
- CONDWAIT existiert seit FreeBASIC v0.13.
- Seit FreeBASIC v0.17 verlangt CONDWAIT einen ANY PTR als Parameter 'handle'.
- Seit FreeBASIC v0.18.3 verlangt CONDWAIT den zweiten Parameter 'mutex'.
Unterschiede unter den FB-Dialektformen:
In der Dialektform -lang qb steht CONDWAIT nicht zur Verfügung. Davor war es ein INTEGER.
Siehe auch:
Multithreading
Zusätzliche Informationen und Funktionen | ||||
---|---|---|---|---|
|