Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
local clone.
Page wiki
View or edit the community-maintained wiki page associated with this page.
core.sync.condition
The condition module provides a primitive for synchronized condition checking. License:Boost License 1.0 Authors:
Sean Kelly Source:
core/sync/condition.d
- class Condition;
- This class represents a condition variable as conceived by C.A.R. Hoare. As
per Mesa type monitors however, "signal" has been replaced with "notify" to
indicate that control is not transferred to the waiter when a notification
is sent.
- this(Mutex m);
- Initializes a condition object which is associated with the supplied
mutex object.
Parameters:
Throws:Mutex m The mutex with which this condition will be associated.
SyncException on error. - @property Mutex mutex();
- Gets the mutex associated with this condition.
Returns:
The mutex associated with this condition. - void wait();
- Wait until notified.
Throws:
SyncException on error. - bool wait(Duration val);
- Suspends the calling thread until a notification occurs or until the
supplied time period has elapsed.
Parameters:
In:Duration val The time to wait.
val must be non-negative. Throws:
SyncException on error. Returns:
true if notified before the timeout and false if not. - void notify();
- Notifies one waiter.
Throws:
SyncException on error. - void notifyAll();
- Notifies all waiters.
Throws:
SyncException on error.