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 | ||||
---|---|---|---|---|
|