package eio
Effect-based direct-style IO API for OCaml
Install
Dune Dependency
Authors
Maintainers
Sources
eio-1.0.tbz
sha256=da260d9da38b3dde9f316652a20b13a261cf90b85a2498ac669b7d564e61942d
sha512=5886e1159f48ede237769baa1d8b5daafa0310e4192d7fe0e8c32aef70f2b6378cef72d0fbae308457e25d87a69802b9ee83a5e8f23e0591d83086a92d701c46
doc/eio.unix/Eio_unix/Private/Thread_pool/index.html
Module Private.Thread_pool
Source
A pool of systhreads, to avoid the overhead of creating a new thread for each operation.
create ~sleep_q
is a new thread pool.
sleep_q
is used to register a clean-up task to finish idle threads.
run t fn
runs fn ()
and then marks t
as closed, releasing all idle threads.
Source
val submit :
t ->
ctx:Eio.Private.Fiber_context.t ->
enqueue:(('a, Eio.Exn.with_bt) result -> unit) ->
(unit -> 'a) ->
unit
submit t ~ctx ~enqueue fn
starts running fn
in a sys-thread, which uses enqueue
to return the result.
If ctx
is already cancelled then the error is passed to enqueue
immediately. Systhreads do not respond to cancellation once running.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>