Модуль 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-2024 INRIA.
https://ocaml.org/manual/5.2/api/Semaphore.Binary.html