forked from LeenkxTeam/LNXSDK
Update
This commit is contained in:
58
Kha/Tools/windows_x64/std/sys/thread/Condition.hx
Normal file
58
Kha/Tools/windows_x64/std/sys/thread/Condition.hx
Normal file
@ -0,0 +1,58 @@
|
||||
package sys.thread;
|
||||
|
||||
#if (!target.threaded)
|
||||
#error "This class is not available on this target"
|
||||
#end
|
||||
|
||||
/**
|
||||
Creates a new condition variable.
|
||||
Conditions variables can be used to block one or more threads at the same time,
|
||||
until another thread modifies a shared variable (the condition)
|
||||
and signals the condition variable.
|
||||
**/
|
||||
@:coreApi extern class Condition {
|
||||
/**
|
||||
Create a new condition variable.
|
||||
A thread that waits on a newly created condition variable will block.
|
||||
**/
|
||||
function new():Void;
|
||||
|
||||
/**
|
||||
Acquires the internal mutex.
|
||||
**/
|
||||
function acquire():Void;
|
||||
|
||||
/**
|
||||
Tries to acquire the internal mutex.
|
||||
@see `Mutex.tryAcquire`
|
||||
**/
|
||||
function tryAcquire():Bool;
|
||||
|
||||
/***
|
||||
Releases the internal mutex.
|
||||
**/
|
||||
function release():Void;
|
||||
|
||||
/**
|
||||
Atomically releases the mutex and blocks until the condition variable pointed is signaled by a call to
|
||||
`signal` or to `broadcast`. When the calling thread becomes unblocked it
|
||||
acquires the internal mutex.
|
||||
The internal mutex should be locked before this function is called.
|
||||
**/
|
||||
function wait():Void;
|
||||
|
||||
/**
|
||||
Unblocks one of the threads that are blocked on the
|
||||
condition variable at the time of the call. If no threads are blocked
|
||||
on the condition variable at the time of the call, the function does nothing.
|
||||
**/
|
||||
function signal():Void;
|
||||
|
||||
/**
|
||||
Unblocks all of the threads that are blocked on the
|
||||
condition variable at the time of the call. If no threads are blocked
|
||||
on the condition variable at the time of the call, the function does
|
||||
nothing.
|
||||
**/
|
||||
function broadcast():Void;
|
||||
}
|
||||
Reference in New Issue
Block a user