GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Condition(3) OCaml library Condition(3)

Condition - Condition variables to synchronize between threads.

Module Condition

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 .

2025-07-03 OCamldoc

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.