sig
  type t
  external make_reentrant : bool -> Lock.t = "ocamljava_lock_make_reentrant"
  external lock : Lock.t -> unit = "ocamljava_lock_lock"
  external lock_interruptibly : Lock.t -> unit
    = "ocamljava_lock_lock_interruptibly"
  external new_condition : Lock.t -> Condition.t
    = "ocamljava_lock_new_condition"
  external try_lock : Lock.t -> bool = "ocamljava_lock_try_lock"
  external try_lock_time : Lock.t -> int64 -> TimeUnit.t -> bool
    = "ocamljava_lock_try_lock_time"
  external unlock : Lock.t -> unit = "ocamljava_lock_unlock"
end