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

阿里巴巴做网站的电话号码seo入门教学

阿里巴巴做网站的电话号码,seo入门教学,河南建设工程教育网,关于做网站的了解点1. 生产者线程 思路:队列满了的情况下, 触发条件变量wait, 等待消费线程消费后唤醒继续生产. void ProducerThreadFunc() {while(1) { while(/* 容器已满 */) { /* 线程等待, 直到消费者消费后唤醒继续执行 */ }/* 生产动作 */ } }2. 消…

1. 生产者线程


思路:队列满了的情况下, 触发条件变量wait, 等待消费线程消费后唤醒继续生产.

void ProducerThreadFunc()
{while(1) {            while(/* 容器已满 */) {      /* 线程等待, 直到消费者消费后唤醒继续执行 */      }/* 生产动作 */   }   
}

2. 消费者线程


思路: 队列中没有元素可以被消费的情况下, 触发条件变量wait, 等待生产线程生产元素之后唤醒继续消费.

// 伪代码
void ConsumerThreadFunc()
{while(1) {            while(/* 容器为空 */) {          /* 线程等待, 直到生产者生产后唤醒继续执行 */    }/* 消费动作 */        }        
}

3. 完整代码


#include <iostream>#include <vector>
#include <condition_variable>
#include <mutex>
#include <thread>
#ifdef __linux__
#include <unistd.h>
#else
#include <windows.h>
#endifusing namespace std;void Run_EveryWhere_Sleep(int time)
{
#ifdef __linux__sleep(time);
#else Sleep(time * 1000);
#endif
}class TestClass
{
public:int Exec(){std::thread thread_consumer(&TestClass::ConsumerThreadFunc, this);        std::thread thread_producer(&TestClass::ProducerThreadFunc, this);thread_consumer.join();thread_producer.join();return 0;}void ProducerThreadFunc(){while(1) {   // 使用while防止虚假唤醒         while(m_vecNums.size() >= 10) {      std::cout << "Producer Thread Wait, Current Size = " << m_vecNums.size() << endl;      unique_lock<std::mutex> locker(m_mutex);m_cv.wait(locker);    }int num = rand();std::cout << "Produce One Number " << num << std::endl;            m_vecNums.emplace_back(num);m_cv.notify_all();Run_EveryWhere_Sleep(1);}   }void ConsumerThreadFunc(){while(1) {    // 使用while防止虚假唤醒        while(m_vecNums.size() <= 0) {      std::cout << "Consumer Thread Wait, Current Size = " << m_vecNums.size() << endl;      unique_lock<std::mutex> locker(m_mutex);m_cv.wait(locker);    }std::cout << "Consume One Number " << m_vecNums[m_vecNums.size() - 1] << std::endl;m_vecNums.pop_back();m_cv.notify_all();Run_EveryWhere_Sleep(1);}        }private:vector<int> m_vecNums;          /// > 生产消费对象存储容器condition_variable m_cv;        /// > 条件变量mutex m_mutex;                  /// > 配合条件变量使用
};int main(int argc, char **argv)
{TestClass A;return A.Exec();
}

4. 执行效果


[root@localhost condition_var_test]# g++ main.cpp -lpthread
[root@localhost condition_var_test]# ./a.out 
Produce One Number Consumer Thread Wait, Current Size = 1804289383
Produce One Number 846930886
Consume One Number 846930886
Produce One Number 1681692777
Consume One Number 1681692777
Produce One Number 1714636915
Consume One Number 1714636915
Produce One Number 1957747793
Consume One Number 1957747793
Produce One Number 424238335
Consume One Number 424238335
http://www.hkea.cn/news/186431/

相关文章:

  • 想要将网站信息插到文本链接怎么做百度关键词搜索
  • 江苏网站备案要多久seo域名综合查询
  • 大型网站建设机构津seo快速排名
  • 建设证件查询官方网站宁波做网站的公司
  • 那些网站招聘在家里做的客服网店推广策略
  • 湘西 网站 建设 公司sem代运营托管公司
  • 用css为wordpress排版西安seo外包服务
  • vs2005做网站百度推广官方网站登录入口
  • 乐从网站建设公司北京seo优化推广
  • 如何在网上接做网站的小项目市场监督管理局电话
  • 淘宝购物站优化
  • 石家庄最新疫情轨迹河南网站优化公司哪家好
  • 网站色彩搭配服务器ip域名解析
  • 哪个网站专业做安防如何注册域名网站
  • 穆棱市住房和城乡建设局网站关键词词库
  • 成都网站建设市场什么是网络营销的核心
  • 深圳找人做网站廊坊优化外包
  • 衡阳市城市建设投资有限公司网站湖南企业seo优化报价
  • css做网站常用百度权重优化软件
  • 合合肥网站建设制作网站用什么软件
  • 杭州网站设计公司推荐网络推广与优化
  • 移动惠生活app下载网址荆门网站seo
  • 做网站很赚钱吗关键词自助优化
  • wordpress小工具里的用户中心南京谷歌优化
  • 网站开发中茶叶网络营销策划方案
  • 临海市住房与城乡建设规划局 网站目前最新的营销模式有哪些
  • 高校建设网站的特色如何建立一个网站
  • 公司做网站域名归谁搜索引擎营销策划方案
  • 怎么做外贸个人网站seo综合查询工具可以查看哪些数据
  • 黑客网站盗qq百度seo公司整站优化