Модуль Semaphore.Binary
module Binary: sig .. end
type t
Тип двоичных семафоров.
val make : bool -> t
make b возвращает новый двоичный семафор. Если b имеет значение true, начальное значение семафора равно 1, что означает «доступно». Если b имеет значение false, начальное значение семафора равно 0, что означает «недоступно».
val release : t -> unit
release s устанавливает значение семафора s в 1, переводя его в состояние «доступно». Если другие потоки ожидают s, один из них возобновляется.
val acquire : t -> unit
acquire s блокирует вызывающий поток до тех пор, пока семафор s не будет иметь значение 1 (доступен), затем атомарно устанавливает его в 0 и возвращает результат.
val try_acquire : t -> bool
try_acquire s немедленно возвращает false если семафор s имеет значение 0. Если s имеет значение 1, его значение атомарно устанавливается в 0, и try_acquire s возвращает true.
© 1995-2022 INRIA.
https://v2.ocaml.org/releases/5.0/htmlman/libref/Semaphore.Binary.html