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

Атомарное сложение fetch_add в C++

Метод fetch_add атомарно прибавляет значение и возвращает прежнее содержимое std::atomic.

Два потока добавят по единице к общему счетчику и выведем итог:

#include <atomic> #include <iostream> #include <thread> int main() { std::atomic<int> sum{0}; std::thread a([&]() { sum.fetch_add(1); }); std::thread b([&]() { sum.fetch_add(1); }); a.join(); b.join(); std::cout << sum.load() << "\n"; return 0; }

Три std::thread вызывают fetch_add(1) для std::atomic<int>. Выведите результат.

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