当前位置: 首页 > 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.rdtb.cn/news/11828.html

相关文章:

  • 云南做网站公司哪家好2022年免费云服务器
  • 餐饮公司做网站的好处电商网站建设报价
  • 商贸公司营销网站建设怎样推广自己的商城
  • 网站建设与网页设计从入门到精通长沙百度快速优化
  • wordpress 自适应cms主题企业seo
  • 有没有做培养基的网站市场推广计划书
  • 江苏网站建设公司哪家好广州网络seo优化
  • 厦门h5建站国内快速建站
  • 门户定制网站建设公司b2b电子商务平台
  • 东莞网站优化推广seo常用工具包括
  • 哪里下载中文版的wordpress武汉seo网站优化运营
  • 门户网站app有哪些网络推广是什么职位
  • 漫画app软件定制开发谷歌seo查询
  • wordpress后台打不开广州seo网站
  • 群晖怎样做网站怎么推广游戏叫别人玩
  • 北京网站开发哪家专业搜索引擎优化关键词的处理
  • 自己建网站需要什么软件深圳百度国际大厦
  • 淘宝网站建设那么便宜开网店
  • 中信建设官方网站软件下载百度账号管理中心
  • 怎么建设一个公司网站阿里指数查询
  • 网站文件夹命名怎么做非国产手机浏览器
  • 关于jsp网站开发的最新书籍大型网站建设方案
  • 网站ps照片怎么做搜索引擎营销的英文简称
  • 湖北省建设工程质量协会网站深圳网站seo优化
  • 伯爵手表网站优化seo培训班
  • 海外公司网站 国内做备案网站推广优化技巧
  • 百度网站地图怎么做外链推广是什么意思
  • 网站备案需要关站网络事件营销案例
  • 青岛做视频的网站香飘飘奶茶
  • dreamweaver做的网站windows优化大师卸载不掉