module AtomicInt64: sig
.. end
Atomic containers for int64
values.
type
t
The type of atomic containers for int64
values.
val make : int64 -> t
Returns a new container holding the passed value.
val add_and_get : t -> int64 -> int64
add_and_get a d
atomically adds d
to the current value, and
returns the new value.
val compare_and_set : t -> int64 -> int64 -> bool
compare_and_set a e u
atomically sets the value of a
to u
if
the current value is e
. Returns whether the value of a
was equal
to e
.
val decrement_and_get : t -> int64
Atomically decrements the current value, and returns the new value.
val get : t -> int64
Returns the current value.
val get_and_add : t -> int64 -> int64
get_and_add a d
atomically adds d
to the current value, and
returns the previous value.
val get_and_decrement : t -> int64
Atomically decrements the current value, and returns the previous
value.
val get_and_increment : t -> int64
Atomically increments the current value, and returns the previous
value.
val get_and_set : t -> int64 -> int64
get_and_set a x
atomically sets the value of a
to x
, and
returns the previous value.
val increment_and_get : t -> int64
Atomically increments the current value, and returns the new value.
val lazy_set : t -> int64 -> unit
lazy_set a x
eventually sets the value of a
to x
.
val set : t -> int64 -> unit
set a x
sets the value of a
to x
.
val weak_compare_and_set : t -> int64 -> int64 -> bool
Similar to compare_and_set
, with a weak semantics: may be
faster on some platforms, but does not provide ordering guarantees.