Thread

`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 yield : unit -> unit
val sigmask : Unix.sigprocmask_command -> int list -> int list
val wait_signal : int list -> int
end`