compare_exchange_strong: операция сравнивает текущее значение с ожидаемым и при совпадении записывает новое.">
Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpThCx 545 of 696 menu
◀ ▶

Обмен compare_exchange_strong в C++

Запись при совпадении делает compare_exchange_strong: операция сравнивает текущее значение с ожидаемым и при совпадении записывает новое.

Поток попробует заменить 0 на 5, главный выведет флаг успеха и итог:

#include <atomic> #include <iostream> #include <thread> int main() { std::atomic<int> slot{0}; bool ok = false; std::thread worker([&]() { int expected = 0; ok = slot.compare_exchange_strong(expected, 5); }); worker.join(); std::cout << ok << " " << slot.load() << "\n"; return 0; }

С compare_exchange_strong замените 1 на 2 в std::atomic<int> из потока. Выведите булев итог и значение.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить