Пространства имён
Варианты
Действия

ATOMIC_VAR_INIT

Материал из cppreference.com
< c‎ | atomic

 
 
Атомарные операции
Типы
Оригинал:
Types
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
memory_order
atomic_flag
Макросы
Оригинал:
Macros
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
ATOMIC_***_LOCK_FREE
ATOMIC_FLAG_INIT
ATOMIC_VAR_INIT
kill_dependency
Функции
Оригинал:
Functions
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
atomic_flag_test_and_set
atomic_flag_clear
atomic_init
atomic_is_lock_free
atomic_store
atomic_load
atomic_exchange
atomic_compare_exchange
atomic_fetch_add
atomic_fetch_sub
atomic_fetch_or
atomic_fetch_xor
atomic_fetch_and
atomic_thread_fence
atomic_signal_fence
 
Определено в заголовочном файле <stdatomic.h>
#define ATOMIC_VAR_INIT(value) /* unspecified */
(начиная с C11)
Раскрывается выражения, которые могут быть использованы для инициализации переменной атомного того же типа, как value. Начальное значение атомного объекта автоматического срок хранения, который не инициализирован с помощью этого макроса определено. По умолчанию (ноль) инициализации статических и потоков локальных переменных производит допустимое значение, однако.
Оригинал:
Expands to an expression that can be used to initialize an atomic variable of the same type as value. The initial value of atomic object of automatic storage duration that is not initialized using this macro is undefined. The default (zero) initialization of static and thread-local variables produces valid value however.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Если эта макрокоманда не используется для инициализации переменной атомная, любые доступы во время инициализации из другого потока, даже через атомарные операции, есть данные расы (это может произойти, если адрес немедленно передается в другой поток с memory_order_relaxed операции).
Оригинал:
If this macro is not used for initialization of an atomic variable, any accesses during initialization from another thread, even through an atomic operation, is a data race (it may happen if the address is immediately passed to another thread with a memory_order_relaxed operation).
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

[править] См. также

инициализирует новый atomic_flag
Оригинал:
initializes a new atomic_flag
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(константа-макрос) [edit]