消费者生产者问题
作者:
一ccc | 来源:发表于
2018-04-22 13:42 被阅读0次#include <iostream>
#include <thread>
#include <mutex>
#include <queue>
#include <chrono>
#include <condition_variable>
using namespace std;
int main(int argc,char **argv){
queue<int> buffer;
mutex m;
condition_variable cond_var;
int num;
thread producer([&](){
while(1){
this_thread::sleep_for(chrono::seconds(1));
unique_lock<std::mutex> lock(m);
num++;
cout<<"produucing"<<num<<endl;
buffer.push(num);
cond_var.notify_one();
}
});
thread consumer([&](){
while(1){
unique_lock<mutex> lock(m);
if(buffer.empty())
cond_var.wait(lock);
cout<<"consuming"<<buffer.front()<<endl;
buffer.pop();
}
});
producer.join();
consumer.join();
return 0;
}
本文标题:消费者生产者问题
本文链接:https://www.haomeiwen.com/subject/ecxclftx.html
网友评论