当前位置: 首页 > 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.mmbaike.com/news/42154.html

相关文章:

  • 湘潭seo公司seo教程搜索引擎优化
  • 什么网站可以做邮件列表竞价推广开户
  • 做网站视频是什么专业发软文的网站
  • 网站建设咨询哪些方面谷歌paypal官网入口
  • 武汉市注册公司流程和费用超级优化
  • 深圳 公司网站设计足球世界排名国家
  • 跨境电商购物网站市场调研分析
  • 北京大兴区网站建设如何进行新产品的推广
  • 营销的网站建设公司长春网站制作计划
  • 完善网站建设的目的是新乡seo顾问
  • 企业网站改版新闻百度竞价排名公司
  • 做网站收费多少流量宝
  • 即墨市城乡建设局网站在哪里可以找到网站
  • 深州做网站公司免费的自媒体一键发布平台
  • 公司自己做网站流程和备案网站优化提升排名
  • 做网站的公司算外包公司吗寻找外贸客户的网站
  • 做底单的网站免费b站推广网站下载
  • 做的很好的黑白网站关键词排名 收录 查询
  • wordpress 发布网站网站seo分析
  • wordpress登入不进去广东网站se0优化公司
  • 杭州公司网站推广赚钱一个50元
  • 网站服务器租赁费用表格品牌建设
  • 做网站买狗怎么样seo推广一年要多少钱
  • 网站建设开发环境怎么找百度客服
  • 古玩网站源码外贸营销型网站制作
  • 做一个简单的网页多少钱百度站长工具seo查询
  • 龙元建设集团有限公司网站朋友圈推广平台
  • 无锡专业网站东莞营销外包公司
  • 帮做简历哪个网站好在线友情链接
  • 建设公积金网站收录优美的图片