Spec-Zone.ru › GNU Fortran 13

8.37 ATOMIC_REF — Получение значения переменной атомарно

Описание:

ATOMIC_DEFINE(ATOM, VALUE) атомарно присваивает значение переменной ATOM переменной VALUE. Если STAT присутствует и вызов был успешным, ему присваивается значение 0. Если он присутствует и вызов завершился неудачно, ему присваивается положительное значение; в частности, для коиндексированной ATOM, если удалённый образ остановился, ему присваивается значение ISO_FORTRAN_ENV’s STAT_STOPPED_IMAGE и если удалённый образ завершился неудачно, значение STAT_FAILED_IMAGE.

Стандарт:

Fortran 2008 и более поздние версии; с STAT, TS 18508 или более поздние версии

Класс:

Атомарная подпрограмма

Синтаксис:

CALL ATOMIC_REF(VALUE, ATOM [, STAT])

Аргументы:
VALUE Скаляр того же типа, что и ATOM. Если тип отличается, значение преобразуется в тип ATOM.
ATOM Скалярная комассивная или коиндексированная переменная целочисленного типа с ATOMIC_INT_KIND типом или логического типа с ATOMIC_LOGICAL_KIND типом.
STAT (необязательно) Скалярная переменная целого типа по умолчанию.
Пример:
program atomic
  use iso_fortran_env
  logical(atomic_logical_kind) :: atom[*]
  logical :: val
  call atomic_ref (atom, .false.)
  ! ...
  call atomic_ref (atom, val)
  if (val) then
    print *, "Obtained"
  end if
end program atomic
См. также:

ATOMIC_DEFINE — Атомарное задание значения переменной, ATOMIC_CAS — Атомарное сравнение и обмен, ISO_FORTRAN_ENV, ATOMIC_FETCH_ADD — Атомарная операция СЛОЖЕНИЯ с предварительным извлечением, ATOMIC_FETCH_AND — Атомарная побитовая операция И с предварительным извлечением, ATOMIC_FETCH_OR — Атомарная побитовая операция ИЛИ с предварительным извлечением, ATOMIC_FETCH_XOR — Атомарная побитовая операция ИСКЛЮЧАЮЩЕЕ ИЛИ с предварительным извлечением

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-13.3.0/gfortran/ATOMIC_005fREF.html

Spec-Zone.ru

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