package moonpool

  1. Overview
  2. Docs

Module MoonpoolSource

Moonpool

A pool within a bigger pool (ie the ocean). Here, we're talking about pools of Thread.t which live within a fixed pool of Domain.t.

Sourcemodule Pool : sig ... end

Thread pool.

Sourcemodule Runner : sig ... end

Abstract runner.

Sourceval start_thread_on_some_domain : ('a -> unit) -> 'a -> Thread.t

Similar to Thread.create, but it picks a background domain at random to run the thread. This ensures that we don't always pick the same domain to run all the various threads needed in an application (timers, event loops, etc.)

Sourcemodule Lock : sig ... end

Mutex-protected resource.

Sourcemodule Fut : sig ... end

Futures.

Sourcemodule Chan : sig ... end

Channels.

Sourcemodule Fork_join : sig ... end

Fork-join primitives.

Sourcemodule Blocking_queue : sig ... end

A simple blocking queue.

Sourcemodule Atomic : sig ... end

Atomic values.

Suspensions

Sourcemodule Suspend_ : sig ... end

Suspensions.