sig
  type state =
      New
    | Runnable
    | Blocked
    | Waiting
    | Timed_waiting
    | Terminated
  type t
  external make :
    ThreadGroup.t option -> string option -> ('-> unit) -> '-> Thread.t
    = "ocamljava_thread_make"
  external current_thread : unit -> Thread.t
    = "ocamljava_thread_current_thread"
  external get_id : Thread.t -> int64 = "ocamljava_thread_get_id"
  external get_name : Thread.t -> string = "ocamljava_thread_get_name"
  external get_priority : Thread.t -> string
    = "ocamljava_thread_get_priority"
  external get_state : Thread.t -> Thread.state
    = "ocamljava_thread_get_state"
  external get_thread_group : Thread.t -> ThreadGroup.t option
    = "ocamljava_thread_get_thread_group"
  external interrupt : Thread.t -> unit = "ocamljava_thread_interrupt"
  external is_alive : Thread.t -> bool = "ocamljava_thread_is_alive"
  external is_daemon : Thread.t -> bool = "ocamljava_thread_is_daemon"
  external is_interrupted : Thread.t -> bool
    = "ocamljava_thread_is_interrupted"
  external join : Thread.t -> unit = "ocamljava_thread_join"
  external join_time : Thread.t -> int64 -> unit
    = "ocamljava_thread_join_time"
  external join_time_nanos : Thread.t -> int64 -> int32 -> unit
    = "ocamljava_thread_join_time_nanos"
  external set_daemon : Thread.t -> bool -> unit
    = "ocamljava_thread_set_daemon"
  external set_name : Thread.t -> string -> unit
    = "ocamljava_thread_set_name"
  external set_priority : Thread.t -> int32 -> unit
    = "ocamljava_thread_set_priority"
  external sleep : int64 -> unit = "ocamljava_thread_sleep"
  external sleep_nanos : int64 -> int32 -> unit
    = "ocamljava_thread_sleep_nanos"
  external start : Thread.t -> unit = "ocamljava_thread_start"
  external yield : unit -> unit = "ocamljava_thread_yield"
  external get_max_priority : unit -> int32
    = "ocamljava_thread_get_max_priority"
  external get_min_priority : unit -> int32
    = "ocamljava_thread_get_min_priority"
  external get_norm_priority : unit -> int32
    = "ocamljava_thread_get_norm_priority"
end