Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
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.
core.sync.condition
License:
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.
- nothrow @safe this(Mutex m);
- Initializes a condition object which is associated with the supplied mutex object.Parameters:
Mutex m The mutex with which this condition will be associated. Throws:SyncError on error. - @property Mutex mutex();
- void wait();
- Wait until notified.Throws:SyncError on error.
- bool wait(Duration val);
- Suspends the calling thread until a notification occurs or until the supplied time period has elapsed.
In: val must be non-negative.
Throws:SyncError on error.Returns:true if notified before the timeout and false if not. - void notify();
- Notifies one waiter.Throws:SyncError on error.
- void notifyAll();
- Notifies all waiters.Throws:SyncError on error.