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

郑州网站及优化长春seo代理

郑州网站及优化,长春seo代理,公司邮箱域名是什么,十个知名的跨境电商公司一&#xff1a;概述 本文利用 C 标准库中的多线程、条件变量、互斥锁等工具来实现一个线程安全的队列&#xff0c;并且使用多个线程来向队列中添加和获取数据。 二&#xff1a;实现过程&#xff1a; #include <iostream> #include <queue> #include <mutex&g…

一:概述

        本文利用 C++ 标准库中的多线程、条件变量、互斥锁等工具来实现一个线程安全的队列,并且使用多个线程来向队列中添加和获取数据。 

二:实现过程:

#include <iostream>
#include <queue>
#include <mutex>
#include <condition_variable>
#include <thread>
#include <vector>template <typename T>
class ThreadSafeQueue {
public:// 向队列中添加元素void push(const T& value) {std::lock_guard<std::mutex> lock(mutex_);queue_.push(value);cond_var_.notify_one();  // 通知一个等待的线程}// 从队列中取出元素,如果队列为空,阻塞等待T pop() {std::unique_lock<std::mutex> lock(mutex_);cond_var_.wait(lock, [this] { return !queue_.empty(); });  // 等待直到队列非空T value = queue_.front();queue_.pop();return value;}// 判断队列是否为空bool empty() const {std::lock_guard<std::mutex> lock(mutex_);return queue_.empty();}private:mutable std::mutex mutex_;            // 互斥锁,保护队列std::queue<T> queue_;                 // 基础队列std::condition_variable cond_var_;   // 条件变量,用于队列为空时的等待
};// 示例:使用线程安全队列
void producer(ThreadSafeQueue<int>& queue, int numItems) {for (int i = 0; i < numItems; ++i) {queue.push(i);std::cout << "Produced: " << i << std::endl;}
}void consumer(ThreadSafeQueue<int>& queue, int numItems) {for (int i = 0; i < numItems; ++i) {int item = queue.pop();std::cout << "Consumed: " << item << std::endl;}
}int main() {ThreadSafeQueue<int> queue;const int numItems = 10;const int numProducers = 2;const int numConsumers = 2;std::vector<std::thread> threads;// 启动生产者线程for (int i = 0; i < numProducers; ++i) {threads.push_back(std::thread(producer, std::ref(queue), numItems / numProducers));}// 启动消费者线程for (int i = 0; i < numConsumers; ++i) {threads.push_back(std::thread(consumer, std::ref(queue), numItems / numConsumers));}// 等待所有线程完成for (auto& thr : threads) {thr.join();}return 0;
}

http://www.yidumall.com/news/75289.html

相关文章:

  • 海外红酒网站建设百度推广客服投诉电话
  • 沈阳公司网站制作热点事件营销案例
  • 简单网站建设运营各城市首轮感染高峰期预测
  • 东莞网站建设服务常用的关键词挖掘工具有哪些
  • 网站美工做确认取消对话框搜索引擎排名规则
  • 个人博客网站怎么注册陕西网站seo
  • 哪里网站建设深圳全网推广平台
  • 有做a50期货的网站seo工作怎么样
  • wordpress 建站短视频seo营销系统
  • 可以做mv 的视频网站推广宣传方式有哪些
  • 免费的韩国网站服务器chatgpt入口
  • 静态网站制作流程品牌推广渠道有哪些
  • php自己做网站访问量计算2345网址导航官网下载安装
  • 甘肃三北防护林建设局网站成都网站seo报价
  • 创意网站建设设计长沙做搜索引擎的公司
  • 肥西做网站近三天时政热点
  • 简洁大气的网站模板汉中seo培训
  • 个人建站系统直通车关键词怎么选 选几个
  • 小说网站开发业务逻辑八百客crm系统登录入口
  • java开发网站的优势长沙建站优化
  • 集团网站建设思路关键词排名监控批量查询
  • 2017网站开发前景注册平台
  • 室内装修网站平台宣传推广方案
  • 网站静态页面360广告推广平台
  • 网站主题页广告公司取名字参考大全
  • 网站怎样做银联支付接口网站推广怎么弄
  • php mysql怎么编写视频网站韩国最新新闻
  • php网站 怎么做授权网站排行
  • 找人做海报在什么网站找网络营销策略制定
  • 维护一个网站难吗公司网站模板设计