Модуль Atomic
module Atomic: sig .. end
Атомные ссылки.
См. главу 'Модель памяти: Сложная часть' в руководстве.
- Since 4.12
type 'a t
Атомная (изменяемая) ссылка на значение типа 'a.
val make : 'a -> 'a t
Создать атомную ссылку.
val get : 'a t -> 'a
Получить текущее значение атомной ссылки.
val set : 'a t -> 'a -> unit
Установить новое значение для атомной ссылки.
val exchange : 'a t -> 'a -> 'a
Установить новое значение для атомной ссылки и вернуть текущее значение.
val compare_and_set : 'a t -> 'a -> 'a -> bool
compare_and_set r seen v устанавливает новое значение r на v только в том случае, если его текущее значение физически равно seen — сравнение и установка происходят атомарно. Возвращает true если сравнение прошло успешно (т.е. установка произошла) и false в противном случае.
val fetch_and_add : int t -> int -> int
fetch_and_add r n атомарно увеличивает значение r на n, и возвращает текущее значение (до увеличения).
val incr : int t -> unit
incr r атомарно увеличивает значение r на 1.
val decr : int t -> unit
decr r атомарно уменьшает значение r на 1.
© 1995-2022 INRIA.
https://v2.ocaml.org/releases/5.0/htmlman/libref/Atomic.html