Provided by: ocaml-man_4.08.1-8_all bug

NAME

       Condition - Condition variables to synchronize between threads.

Module

       Module   Condition

Documentation

       Module Condition
        : sig end

       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 D  is
       a  shared  data  structure,  m  its  mutex,  and  c is a condition variable): Mutex.lock m; while (* some
       predicate P over D is not satisfied *) do Condition.wait c m done; (* Modify D *) if (* the  predicate  P
       over D is now satisfied *) then Condition.signal c; Mutex.unlock m

       type t

       The type of condition variables.

       val create : unit -> t

       Return a new condition variable.

       val wait : t -> Mutex.t -> unit

       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 : t -> unit

       signal c restarts one of the processes waiting on the condition variable c .

       val broadcast : t -> unit

       broadcast c restarts all processes waiting on the condition variable c .

OCamldoc                                           2020-01-30                                      Condition(3o)