#include <iostream>
#include <thread>
#include <mutex>//临界锁
#include <atomic>//原子锁 原子
using namespace std;
mutex g_mutex;
atomic_int sum = 0;//atomic<int> sum
//原子操作 不可分割的操作
void threadPrint()
{
//lock_guard<mutex> lg(g_mutex);//自解锁
for (int i = 0; i < 100000; i++)
{
sum++;
}
}
int main()
{
//定义线程数组
thread threadPrintArray[3];
for (int i = 0; i < 3; i++)
{
threadPrintArray[i]=thread(threadPrint);
}
//使用线程
for (int i = 0; i < 3; i++)
{
threadPrintArray[i].detach();
}
//阻塞 - 输入后继续
getchar();
//输出
cout << "sum:"<<sum<<endl;
//阻塞 - 输入后继续
getchar();
return 0;
}
Server - 原子锁
于 2019-08-07 23:11:20 首次发布