#include <thread>
#include <chrono>
#include <cmath>
#include <mutex>
#include <iostream>
using namespace std;mutex mtx;
void threadCommunicat()
{int ans = 0;while (ans<=3){mtx.lock();//上锁cout << "ans=" << ans << endl;ans++;mtx.unlock();//解锁this_thread::sleep_for(chrono::microseconds(int(0.5 * pow(10, 6))));//0.5秒}}
int main()
{thread a(threadCommunicat);a.detach();//主线程执行完则直接结束 说明添加线程的方式 cout << "next" << endl;thread b(threadCommunicat);b.join();//子线程结束后才执行后续代码 说明添加线程的方式
}
运行效果: