РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
800 of 815 menu

Метод store

Метод store класса atomic выполняет атомарную запись значения в объект. Это означает, что операция изменения данных происходит неделимо: никакой другой поток не сможет увидеть промежуточное состояние или помешать записи. Первым параметром метод принимает новое значение, которое нужно сохранить, а вторым (необязательным) - порядок доступа к памяти.

Синтаксис

atomic_object.store(value, memory_order)

Пример

Давайте создадим атомарную переменную и запишем в нее число 123:

#include <iostream> #include <atomic> using namespace std; int main() { atomic<int> a(0); a.store(123); cout << a.load() << endl; return 0; }

Результат выполнения кода:

123

Пример

Давайте используем метод store для безопасной записи строки в атомарный указатель. Так как atomic для сложных типов обычно используется с указателями, рассмотрим пример:

#include <iostream> #include <atomic> using namespace std; int main() { int x = 5; int y = 10; atomic<int*> ptr(&x); ptr.store(&y); cout << *ptr.load() << endl; return 0; }

Результат выполнения кода:

10

Смотрите также

  • класс atomic,
    который представляет собой атомарный тип данных
  • метод load,
    который читает значение атомарной переменной
  • метод exchange,
    который заменяет значение и возвращает старое
  • метод memory_order,
    который определяет порядок доступа к памяти
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить