package picos_mux
Install
dune-project
Dependency
Authors
Maintainers
Sources
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.
val run_fiber :
?fatal_exn_handler:(exn -> unit) ->
Picos.Fiber.t ->
(Picos.Fiber.t -> unit) ->
unitrun_fiber fiber main runs the main program as the specified fiber and returns main and all of the fibers spawned by main have returned.
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.