Semaphore.Counting
type t
val make : int -> t
val release : t -> unit
val acquire : t -> unit
val try_acquire : t -> bool
val get_value : t -> int