Spec-Zone.ru › OCaml 5.0

Модуль 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API