线程的交换与移动
来源:互联网 发布:平民护肤品推荐 知乎 编辑:程序博客网 时间:2024/05/17 07:33
/*编写一个程序,开启3个线程,这3个线程的ID分别为A B C每个线程将自己的ID在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示,如:ABCABC...依次递推。*/#include<iostream>#include<thread>#include<mutex>#include<Windows.h>#include<condition_variable>using namespace std;int LOOP = 10;int flag = 0;mutex m;condition_variable cv;void fun(int id){for (int i = 0; i < LOOP; i++){unique_lock<mutex>ulk(m);//设置锁定while ((id - 65) != flag){cv.wait(ulk);//不是该出现的场合,等待。}cout << (char)id << endl;flag = (flag + 1) % 3;//0 1 2 0 1 2...cv.notify_all();//通知所有}}void main(){thread t1(fun, 65);thread t2(fun, 66);thread t3(fun, 67);t1.join();t2.join();t3.join();cin.get();}
0 0
- 线程的交换与移动
- java中的线程协调与线程间的数据交换
- 移动软交换中短消息业务的设计与实现
- 标签的移动与线程控制
- 移动的交换网络分类
- 与Web Worker线程交换数据应用
- ListView内部值的交换移动
- 电路交换与分组交换的优缺点
- 值交换与字符串交换的对比
- 电路交换与分组交换的区别
- 电路交换与分组交换的优缺点
- 电路交换与分组交换的区别
- 移动软交换中短消息业务设计与实现
- Exchanger-兄弟线程的信息交换
- 2.11 线程间的数据交换
- Exchanger两个线程之间的数据交换
- java 线程间交换数据的Exchanger
- 两个线程进行数据交换的Exchanger
- std::accumulate异常安全的两个并行版本
- android端升级下载后如何自动安装并且有提示安装完成或打开,然后点击打开
- Ubuntu下面安装单节点hadoop
- Mybatis缓存
- 拼音工具类
- 线程的交换与移动
- 2016-10-19 今天试验的代码段
- ios中修改字体
- BNU19907 UVA11489 Integer Game
- 无线方式组网 - ZigBee、GPRS在充电桩中的应用
- linux 常用命令
- 算法之素数的快速筛选两种方式
- 鹅厂安卓面试
- 内存对齐问题