c++举一个用原子类型递增的例子
一个使用原子类型递增的例子是多线程环境下的计数器。在该例子中,我们使用std::atomic
下面是一个使用原子类型递增的计数器的示例代码:
#include <iostream>
#include <thread>
#include <atomic>
std::atomic<int> counter(0);
void incrementCounter()
{
for (int i = 0; i < 1000000; ++i)
{
counter.fetch_add(1);
}
}
int main()
{
std::thread thread1(incrementCounter);
std::thread thread2(incrementCounter);
thread1.join();
thread2.join();
std::cout << "Final counter value: " << counter << std::endl;
return 0;
}
在这个例子中,我们创建了一个全局的std::atomic
需要注意的是,std::atomic类型的变量可以保证在多线程环境下的原子性操作,因此在多个线程同时对计数器进行递增操作时,不会出现数据竞争等问题。
原文地址: https://www.cveoy.top/t/topic/i8Ic 著作权归作者所有。请勿转载和采集!