ToB企服应用市场:ToB评测及商务社交产业平台
标题:
C++11原子变量:线程安全、无锁操作的实例解析
[打印本页]
作者:
立山
时间:
2024-4-9 21:16
标题:
C++11原子变量:线程安全、无锁操作的实例解析
在 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
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4