当前位置: 首页 > news >正文

网站建设怎么支付款项文章标题-栏目名称-网站名 dede

网站建设怎么支付款项,文章标题-栏目名称-网站名 dede,cute主题破解版WordPress,低代码平台开发运行在VS2022,x86,Debug下。 32. 生产者消费者模式 解耦生产者和消费者之间的关系,即生产者和消费者只依赖缓冲区,而不相互依赖。应用:多线程并发编程,可以解决生产者和消费者之间的同步问题。实现 生产者…

运行在VS2022,x86,Debug下。

32. 生产者消费者模式

  • 解耦生产者和消费者之间的关系,即生产者和消费者只依赖缓冲区,而不相互依赖。
  • 应用:多线程并发编程,可以解决生产者和消费者之间的同步问题。
  • 实现
    • 生产者:负责产生数据的模块。
    • 消费者:负责处理数据的模块。
    • 中介:缓冲区。
  • 代码如下。
    lambda表达式在condition_variable::wait()中充当断言。
#include <iostream>
#include <thread>
#include <mutex>
#include <condition_variable>
#include <queue>
#include <vector>
using namespace std;const int BUFFER_SIZE = 10;  //缓冲区大小queue<int> buffer;           //缓冲区, 用于存放数据
mutex mtx;                   //互斥量,用于保护共享资源
condition_variable prod_cv; // 生产者条件变量,用于线程间的同步
condition_variable cons_cv; // 消费者条件变量//生产者
void producer()
{for (int i = 0; i < 20; i++)   //循环生产20个数据{ unique_lock<mutex> lock(mtx);    //独占锁,确保同一时刻只有一个线程访问临界区prod_cv.wait(lock, [] { return buffer.size() < BUFFER_SIZE; });    //等待条件满足,即缓冲区不满buffer.push(i); cout << "Producer ID:" << this_thread::get_id() << " Produced: " << i << std::endl;lock.unlock();            //解锁互斥量cons_cv.notify_all();     //通知消费者this_thread::sleep_for(std::chrono::milliseconds(500)); //睡眠, 模拟生产过程}
}//消费者
void consumer() 
{for (int i = 0; i < 20; i++)   //循环消费20个数据{unique_lock<std::mutex> lock(mtx);cons_cv.wait(lock, [] { return !buffer.empty(); });  //等待条件满足,即缓冲区不为空cout << "Consumer ID:" << this_thread::get_id() << " Consumed: " << buffer.front() << endl;buffer.pop();lock.unlock();prod_cv.notify_all();  //通知生产者this_thread::sleep_for(std::chrono::milliseconds(800));}
}int main()
{const int num_producers = 2;  //生产者数量const int num_consumers = 2;  //消费者数量vector<thread> producer_threads;vector<thread> consumer_threads;for (int i = 0; i < num_producers; i++)   //创建生产者线程producer_threads.emplace_back(producer);for (int i = 0; i < num_consumers; i++)  //创建消费者线程consumer_threads.emplace_back(consumer);for (auto&& thread : producer_threads)  //等待所有生产者线程结束thread.join();for (auto&& thread : consumer_threads)  //等待所有消费者线程结束thread.join();return 0;    
}
http://www.yayakq.cn/news/779318/

相关文章:

  • 海珠区建网站公司昆明网站制作的方法
  • 深圳市网站建设有补贴吗沈阳集团网站建设
  • 淄博公司做网站网上学电脑培训中心
  • 新乡网站设计公司wordpress模板原理
  • 数学老师做直播的网站西安网站制作公司
  • 商城类的网站怎么做网页设计与网站建设在线作业
  • 网站 黑白忆唐网不做网站做品牌
  • 好的网站设计模板wordpress音乐还网页不断
  • 加强普法网站和普法网络集群建设网站自己做流量
  • 关键词查网站网站如何进行内外营销运营
  • 水利网站建设品牌建设调研
  • 秦皇岛网站开发价格设计精美的网站
  • 前端网站设计移动端优秀网站
  • 青创云网站建设网站优怎么做
  • 返利网站建设哪个公司好北京互联网公司待遇排名
  • 响应式商城网站网站开发需解决什么问题
  • 如何防止网站攻击做网站常熟
  • 自建网站做外贸的流程云南旅游
  • 企业网站前端建设微信网站 手机网站
  • 保定网站制作套餐贵安新区网站建设推广
  • 六安电商网站建设价格幼儿做爰网站
  • 南宁网站建设方案书合肥做网站的的公司有哪些
  • 南京做网站的网络公司排名网站建设考察试卷
  • 网站制作大概需要多少钱网站开发建设技术特点
  • 微信上怎么做网站链接正版全平台内容系统
  • 如何引用网站上的资料做文献增加网站关键词
  • 个人怎样建网站赚钱时光轴 网站
  • 网站一般用什么语言写wordpress插表格
  • 网站建设验收总结讲话安徽建设工程信息网关闭 新网站
  • 福建石狮有做网站的没成都到西安高铁票价