`sig
class type mtprovider =
object
method create_condition : unit -> Netsys_oothr.condition
method create_mutex : unit -> Netsys_oothr.mutex
method create_thread : ('s -> 't) -> 's -> Netsys_oothr.thread
method self : Netsys_oothr.thread
method single_threaded : bool
method yield : unit -> unit
end
and thread =
object method id : int method join : unit -> unit method repr : exn end
and mutex =
object
method lock : unit -> unit
method repr : exn
method try_lock : unit -> bool
method unlock : unit -> unit
end
and condition =
object
method broadcast : unit -> unit
method repr : exn
method signal : unit -> unit
method wait : Netsys_oothr.mutex -> unit
end
val provider : Netsys_oothr.mtprovider Stdlib.ref
val serialize : Netsys_oothr.mutex -> ('a -> 'b) -> 'a -> 'b
val atomic_init : 'a option Stdlib.ref -> 'a -> 'a
val compare_and_swap : 'a Stdlib.ref -> 'a -> 'a -> bool
end`