Referenz - CONDSIGNAL
Syntax: CONDSIGNAL (handle)
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ückgegeben wird und den Thread identifiziert. Es ist ein ANY PTR.
CONDSIGNAL sendet ein Signal an einen Thread, der auf 'handle' wartet, dass er fortgesetzt werden darf. Das Signal wird dabei in der Reihenfolge ausgegeben, wie die Threads gestartet wurden. Werden also die Threads in folgender Reihenfolge gestartet:
A, C, B
dann geht das erste CONDSIGNAL auch an A, das zweite an C und das dritte an B.
Achtung: Abhängig vom Betriebssystem werden Threads nicht unbedingt in der Reihenfolge gestartet, in der sie erstellt wurden.
Beispiel: siehe CONDCREATE
Unterschiede zu QB: neu in FreeBASIC
Plattformbedingte Unterschiede:
In der DOS-Version von FreeBASIC steht CONDSIGNAL nicht zur Verfügung, da Threads nicht unterstützt werden.
Unterschiede zu früheren Versionen von FreeBASIC:
- CONDSIGNAL existiert seit FreeBASIC v0.13.
- Seit FreeBASIC v0.17 verlangt CONDSIGNAL einen ANY PTR als Parameter. Davor war es ein INTEGER.
Unterschiede unter den FB-Dialektformen:
In der Dialektform -lang qb steht CONDSIGNAL nicht zur Verfügung.
Siehe auch:
Multithreading
Zusätzliche Informationen und Funktionen | ||||
---|---|---|---|---|
|