-
#include
#include
#include
#include<condition_variable>
using namespace std;
int num = 3;
std::mutex mtx;
std::condition_variable con;
void test(int flag)
{
unique_lockstd::mutex lk(mtx);
while (num != flag)
con.wait(lk);
cout << num << " ";
num = (num + 1) % 4;
con.notify_all();
}
int main()
{
thread t1(test, 0);
thread t2(test, 1);
thread t3(test, 2);
thread t4(test, 3);t1.join();
t2.join();
t3.join();
t4.join();
system(“pause”);
return 0;
}
一道有意思的多线程题目
最新推荐文章于 2024-04-18 20:38:27 发布