Атомарное сложение 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>. Выведите результат.