Module type BatConcurrent.Lock


module type Lock = sig .. end

type t 
The type of a lock.
val create : unit -> t
val lock : t -> unit
val unlock : t -> unit
val try_lock : t -> bool
val synchronize : ?lock:t -> ('a -> 'b) -> 'a -> 'b
val make : unit -> BatConcurrent.lock