    sig
      type t
      val create : ('a -> 'b) -> 'a -> Thread.t
      external self : unit -> Thread.t = "caml_thread_self"
      external id : Thread.t -> int = "caml_thread_id"
      val exit : unit -> unit
      val kill : Thread.t -> unit
      val delay : float -> unit
      external join : Thread.t -> unit = "caml_thread_join"
      val wait_read : Unix.file_descr -> unit
      val wait_write : Unix.file_descr -> unit
      val wait_timed_read : Unix.file_descr -> float -> bool
      val wait_timed_write : Unix.file_descr -> float -> bool
      val select :
        Unix.file_descr list ->
        Unix.file_descr list ->
        Unix.file_descr list ->
        float ->
        Unix.file_descr list * Unix.file_descr list * Unix.file_descr list
      val wait_pid : int -> int * Unix.process_status
      val wait_signal : int list -> int
      val yield : unit -> unit
    end