module Semaphore:sig..end
type t
val make : int32 -> bool -> tval acquire : t -> int32 -> unitval acquire_uninterruptibly : t -> int32 -> unitval available_permits : t -> int32val drain_permits : t -> int32val get_queue_length : t -> int32val has_queued_threads : t -> boolval is_fair : t -> boolval release : t -> int32 -> unitval try_acquire : t -> int32 -> boolval try_acquire_time : t -> int32 -> int64 -> TimeUnit.t -> bool