目录
问题程序
今天无意中看到一篇帖子,关于条件变量的,不过仔细看看发现它并达不到原本的目的。
程序如下,读者可以先想想他的本意,以及有没有问题:
#include <iostream>
#include <thread>
#include <condition_variable>
#include <mutex>
#include <unistd.h>
using namespace std;
//全局条件变量
condition_variable cond;
mutex _mutex;
int count = 0;
void fun1(){
while(1)
{
count++;
unique_lock<mutex>lock(_mutex);
if(count%5 == 0)
{
cond.notify_one();
}
else
{
cout<<"this is fun1,count="<<count<<endl;
}
lock.unlock();
sleep(1);
}
}
void fun2()
{
while(1)
{
u