#include <iostream>
#include <thread>
#include <memory>
#include <mutex>
#include <vector>
#include <iostream>
using namespace std;
vector<int> vData;
void LookRun()
{
while (1)
{
static mutex mtx;
static condition_variable cv;
unique_lock<mutex> lock(mtx);
cout << "hhhhh" << endl;
if (vData.empty())
{
cout << "hellow word" << endl;
cv.wait(lock);
}
cout << "-----------------" << endl;
this_thread::sleep_for(chrono::microseconds(900));
}
}
int main()
{
constexpr int num = 12;
thread cs[num];
for (int i = 0; i < num; ++i)
{
cs[i] = thread(LookRun);
}
for (int i = 0; i < num; ++i)
{
cs[i].join();
}
return 0;
}
实验结果,线程阻塞不运行了,内存也不高