module Exchanger:sig
..end
type
t
val make : unit -> t
val exchange : t -> 'a -> 'a
Raises Runtime.Interrupted
if the thread is interrupted.
val exchange_time : t -> 'a -> int64 -> TimeUnit.t -> 'a
exchange_time e x t u
is similar to exchange e x
, except that the
current thread will at most wait for t
(time value whose unit is
u
).
Raises Runtime.Interrupted
if the thread is interrupted.
Raises Runtime.Timeout
if time has elapsed with no exchange.