在 C++11 中,原子变量(std::atomic)提供了一种线程安全的方式来操作共享变量。下面是一个简单的例子,演示了C++11原子变量的用法。
[code]#include #include #include std::atomic counter(0); // 声明一个原子整数变量void incrementCounter(int id, int iterations) { for (int i = 0; i < iterations; ++i) { counter++; // 原子操作,无需额外的锁 }}int main() { const int numThreads = 5; const int iterationsPerThread = 100000; std::thread threads[numThreads]; // 启动多个线程,每个线程增加计数器 for (int i = 0; i < numThreads; ++i) { threads = std::thread(incrementCounter, i, iterationsPerThread); } // 等待所有线程完成 for (int i = 0; i < numThreads; ++i) { threads.join(); } std::cout |