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.

class Condition {
version(Windows)
HANDLE m_blockLock;
version(Windows)
HANDLE m_blockQueue;
version(Windows)
Mutex m_assocMutex;
version(Windows)
CRITICAL_SECTION m_unblockLock;
version(Windows)
int m_numWaitersGone;
version(Windows)
int m_numWaitersBlocked;
version(Windows)
int m_numWaitersToUnblock;
version(Posix)
Mutex m_assocMutex;
version(Posix)
pthread_cond_t m_hndl;
}

Constructors

this
this(Mutex m)

Initializes a condition object which is associated with the supplied mutex object.

Destructor

A destructor is present on this object, but not explicitly documented in the source.

Members

Functions

mutex
Mutex mutex()

Gets the mutex associated with this condition.

notify
void notify()

Notifies one waiter.

notifyAll
void notifyAll()

Notifies all waiters.

wait
void wait()

Wait until notified.

wait
bool wait(Duration val)

Suspends the calling thread until a notification occurs or until the supplied time period has elapsed.

Suggestion Box / Bug Report