Module Lockfree

Lock-free data structures for Multicore OCaml

Data structures

module Queue : sig ... end

Michael-Scott classic multi-producer multi-consumer queue.

module Stack : sig ... end

Classic multi-producer multi-consumer Treiber stack.

module Work_stealing_deque : sig ... end

Lock-free single-producer, multi-consumer dynamic-size double-ended queue (deque).

module Single_prod_single_cons_queue : sig ... end

Single producer single consumer queue.

module Single_consumer_queue : sig ... end

Lock-free multi-producer, single-consumer, domain-safe queue without support for cancellation.

module Relaxed_queue : sig ... end

A multi-producer, multi-consumer, thread-safe, bounded relaxed-FIFO queue.

Other

module Backoff : sig ... end

Truncated exponential backoff.