模組 Semaphore.Binary

module Binary: sig .. end

type t 

二元號誌 (binary semaphore) 的類型。

val make : bool -> t

make b 回傳一個新的二元號誌。如果 btrue,號誌的初始值為 1,代表「可用」。如果 bfalse,號誌的初始值為 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 如果號誌 s 的值為 0,會立即回傳 false。如果 s 的值為 1,則會自動將其值設為 0,並且 try_acquire s 會回傳 true