|
Module Conditionmodule Condition:
Condition variables to synchronize between threads.
Condition variables are used when one thread wants to wait until another
thread has finished doing something: the former thread ``waits'' on the
condition variable, the latter thread ``signals'' the condition when it
is done. Condition variables should always be protected by a mutex.
The typical use is (if
type t
The type of condition variables.
val create :
Return a new condition variable.
val wait : wait c m atomically unlocks the mutex m and suspends the
calling process on the condition variable c . The process will
restart after the condition variable c has been signalled.
The mutex m is locked again before wait returns.val signal : signal c restarts one of the processes waiting on the
condition variable c .val broadcast : broadcast c restarts all processes waiting on the
condition variable c . |