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

免费网站整站模板下载网站开发外包

免费网站整站模板下载,网站开发外包,营销培训内容有哪些,手机怎么建立自己网站题目:实现两个线程,一个打印奇数,一个打印偶数 思路(1):用c11的互斥量mutex,条件变量condition_variable.一个全局变量i,控制每个线程获取互斥锁后执行一次,再通过条件变量唤醒另一个等在该锁上…

 

题目:实现两个线程,一个打印奇数,一个打印偶数

思路(1):用c++11的互斥量mutex,条件变量condition_variable.一个全局变量i,控制每个线程获取互斥锁后执行一次,再通过条件变量唤醒另一个等在该锁上的线程,让其执行,即保证两个线程交替运行。

#include <thread>
#include <iostream>
#include <mutex>
#include <condition_variable>
#include <windows.h>
std::mutex data_mutex;
std::condition_variable data_var;
bool flag = true;
int i = 0;void printA()
{while (1){Sleep(1000);unique_lock<mutex> lck(data_mutex);data_var.wait(lck, [] {return flag; });//只有return flag==true时才不阻塞,上锁成功cout << "thread: " << this_thread::get_id() << "   printf: " << i << endl;i += 1;flag = false;data_var.notify_one();//释放锁,并唤醒等在该锁上的线程}
}void printB()
{while (1){unique_lock<mutex> lck(data_mutex);data_var.wait(lck, []{return !flag; });cout << "thread: " << this_thread::get_id() << "   printf: " << i << endl;i += 1;flag = true;data_var.notify_one();}
}

思路(2):直接用一个全局的flag来控制两个线程交替运行,一个线程在flag==true可以执行,另一个线程在flag==false的时候执行。

void printA()
{while (1){Sleep(1000);if (flag){cout << "thread: " << this_thread::get_id() << "   printf: " << i << endl;i += 1;flag = false;}}
}void printB()
{while (1){if (!flag){cout << "thread: " << this_thread::get_id() << "   printf: " << i << endl;i += 1;flag = true;}}
}

 

http://www.lbrq.cn/news/2539801.html

相关文章:

  • 滨海专业做网站的公司百度快照怎么使用
  • 招聘网站套餐费用怎么做分录seo前线
  • 做的最好的微电影网站有哪些抖音流量推广神器软件
  • 关于淘宝店网站建设的可行性报告百度公司电话
  • 人大信息网站建设方案网站的推广方法
  • 做视频链接网站网页搜索引擎
  • 广东省网站免备案安徽网站设计
  • 云南网站建设费用市场营销师报名官网
  • 成都网站搜索优化百度搜索引擎的原理
  • h5商城网站是什么企业培训考试系统
  • 张店好的网站建设的公司网络推广技术外包
  • 建网站需要服务器吗百度怎么发布广告
  • 合肥企业网站建设工网络营销概述ppt
  • qq官方客服在线咨询企业网站优化推广
  • 学校教务网站的设计与实现热点新闻
  • 湖南网站建设企业长安网站优化公司
  • html5做网站网络营销广告名词解释
  • wordpress 搬家乱码网络优化公司有哪些
  • 门窗网站建设杭州seo网站建设靠谱
  • 新沂建设工程交易中心seo 视频
  • 如何策划网络推广方案搜索引擎优化的内容包括
  • 福州网站设计网址怎样在网上推广
  • 那里有专业注册网站建设的如何查看网站权重
  • 一台机器在家创业合肥优化
  • 武汉网站托管公司网址大全下载
  • 做外贸是用什么网站做网站建设及网络推广
  • 设计做图免费网站重庆seo研究中心
  • 网页设计与制作实验报告心得体会seo实战培训学校
  • 装饰公司做宣传网站宣传推广的十种方式
  • 外贸免费开发网站建设网络推广公司排行榜
  • 【ROS2】ROS2节点Node机制与常用命令行
  • 西门子 G120 变频器全解析:从认知到参数设置
  • 高效离线转换方案:支持多任务并行处理
  • Jupyter notebook如何显示行号?
  • React ahooks——副作用类hooks之useDebounceFn
  • OSPF笔记整理