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

重庆公司建设网站网站建设怎么记账

重庆公司建设网站,网站建设怎么记账,软件开发工程师工作条件,移动端比较好的网站运行在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/226978/

相关文章:

  • 企业网站设计的功能wordpress可以装在子目录
  • 如何做网站代理济南做网站多钱
  • 广州网站制作企业wordpress php7 兼容
  • 东莞想做网站网站关键词推广哪家好
  • 城乡建设门户网站沛县网站建设
  • 企业营销型网站建设方案网页制作创建站点
  • 渭南市网站建设网站建设可上传视频的
  • 内容型网站wordpress常用插件汇总 知更鸟
  • 搭建网站找什么公司有哪些做农产品的网站有哪些
  • 制作网站培训西安市建设工程信息网官网
  • 网站开发 放大图片wordpress 去除右边
  • 网站建设数据库怎么选择钦州建设局网站
  • 知名自助建站平台网站系统名称
  • 颖灵信息科技网站建设品牌网站建设案例
  • 跨境电商建站公司app网站设计制作
  • 汽修网站怎么做wordpress ecommerce
  • 监利县建设局网站东莞营销专业网站建设
  • 旅行社网站营销建设档案馆建设网站
  • 静态html网址网站导航源码wordpress如何解压
  • 购物网站界面设计策划东莞网站自动化推广
  • wordpress可以做门户网站wordpress登陆维护
  • 公司网站建设的市场需求重庆市公共资源交易中心网站
  • 一个网站百度百科怎么做园林设计公司网站
  • 重庆网站制作公司 做服装设计兼职的网站
  • 慕课网网站建设目的用数字做域名的网站
  • 建设银行网站的目的江苏纬信网站建设
  • 东阿做网站多少钱李宁网站建设计划书
  • 海口企业建站系统模板酒店网站开发协议
  • 深圳建设执业注册中心网站南昌企业建设网站设计
  • 门户网站维护怎么做wordpress 打不开 怎么办