Await_syncBasic synchronization primitives using Await.
Poisoned is the exception raised when trying to access a synchronization or communication primitive that has been poisoned.
Frozen is the exception raised when trying to access a synchronization or communication primitive that has been frozen.
Already_full is the exception raised when the target communication structure was already full.
module Atom : sig ... endAn atom is intended to be an easy-to-use waitable atomic location for storing state represented as an immutable data structure.
module Awaitable : sig ... endAn awaitable represents an atomic location whose change of value can be awaited upon. Awaitables can be used to implement all kinds of blocking data structures, including locks, condition variables, and blocking queues.
module Barrier : sig ... endA poisonable multi-shot synchronization barrier.
module Countdown_latch : sig ... endA poisonable one-shot countdown latch.
module Ivar : sig ... endA write-once cell that can be empty or full (i.e., hold a single value).
module Mutex : sig ... endA poisonable mutual exclusion lock.
module Mvar : sig ... endA linear mutable cell that can be either empty or full (i.e., hold a single unique value at a time).
module Rwlock : sig ... endA poisonable and freezable multiple readers, single writer lock.
module Scope : sig ... endA scope for structured concurrency.
module Semaphore : sig ... endA poisonable counting semaphore.
module Stack : sig ... endA multi-producer, multi-consumer concurrent stack.