package picos_mux

  1. Overview
  2. Docs
Sample schedulers for Picos

Install

dune-project
 Dependency

Authors

Maintainers

Sources

picos-0.6.0.tbz
sha256=3f5a08199cf65c2dae2f7d68f3877178f1da8eabf5376e15114e5a8958087dfa
sha512=ad24910c47ce614268c4268874bb918da7f8b5f03b3ad706bbf30323635262e94ddab6be24eaebbca706bfa82c0a517d4272b396459e020c185942125c9bdb7b

doc/picos_mux.thread/Picos_mux_thread/index.html

Module Picos_mux_threadSource

Basic Thread based Picos compatible scheduler for OCaml 4.

ℹ️ This scheduler implementation is mostly meant as an example and for use in testing libraries implemented in Picos.

⚠️ This scheduler uses Picos_io_select internally. If running multiple threads that each run this scheduler, Picos_io_select.configure must be called by the main thread before creating other threads.

⚠️ This scheduler is probably suitable for simple applications that do not spawn a lot of fibers. If an application uses a lot of short lived fibers, then a more sophisticated scheduler implementation using some sort of thread pool will likely perform significantly better.

⚠️ This scheduler implementation also works on OCaml 5, of course, but on OCaml 5 a scheduler that implements an effect handler directly is likely to perform better.

Sourceval run_fiber : ?fatal_exn_handler:(exn -> unit) -> Picos.Fiber.t -> (Picos.Fiber.t -> unit) -> unit

run_fiber fiber main runs the main program as the specified fiber and returns main and all of the fibers spawned by main have returned.

Sourceval run : ?forbid:bool -> ?fatal_exn_handler:(exn -> unit) -> (unit -> 'a) -> 'a

run main is equivalent to calling run_fiber with a freshly created fiber and main wrapped to capture the result of main.

The optional forbid argument defaults to false and determines whether propagation of cancelation is initially allowed.