LAMBDA表达式与线程及线程等待和获取线程ID
来源:互联网 发布:海湾报警主机8301编程 编辑:程序博客网 时间:2024/06/15 00:51
本代码主要是使用LAMBDA表达式与线程的一起使用,还有线程的几个方法的测试:
如:获取线程的ID、线程等待,线程等待的几种方法如下:
this_thread::sleep_for(chrono::seconds(3));//线程等待 3 秒
this_thread::yield();//让CPU先执行其他线程,空闲时再执行些线程
this_thread::sleep_until();//到某个时刻到来之前一直等待,定时等待。
测试代码如下:
/*C++中创建多线程,建议使用LAMBDA表达式下面几个参数在 迅雷 的定时下载中都有体现 如空间下载、定时下载.......this_thread::sleep_for()//等待多少秒后执行。this_thread::yield();//CPU空闭了才执行行this_thread::sleep_unitl();//等到某个时间点时才执行this_thread::get_id()//获取线程ID*/#include<iostream>#include<thread>#include<chrono>#include<Windows.h>using namespace std;//线程等待与获取线程 IDvoid main4C(){thread th1([](){this_thread::sleep_for(chrono::seconds(3));//线程等待 3 秒//this_thread::yield();//让CPU先执行其他线程,空闲时再执行些线程//this_thread::sleep_until();//到某个时刻到来之前一直等待,定时等待。cout << this_thread::get_id() << endl;//获取线程的 ID});thread th2([](){this_thread::sleep_for(chrono::seconds(10));//线程等待 10 秒cout << this_thread::get_id() << endl;});th1.join();th2.join();cin.get();}void main4b(){thread th1([](){MessageBoxA(0, "1", "2", 0); });thread th2([](){MessageBoxA(0, "1", "2", 0); });th1.join();th2.join();cin.get();}void main4a(){auto fun = [](){MessageBoxA(0, "1", "2", 0); };thread th1(fun);thread th2(fun);th1.join();th2.join();cin.get();}
0 0
- LAMBDA表达式与线程及线程等待和获取线程ID
- 线程:CPP lambda表达式与多线程
- 获取当前进程ID和子线程的线程ID
- 线程等待与唤醒
- 线程创建与等待
- Linux获取线程ID
- 获取线程ID
- 获取线程ID
- 获取线程ID
- Liunx获取线程Id
- 3.4 线程id获取
- linux获取线程ID
- Linux下多线程编程__线程的创建pthread_create与退出pthread_exit,等待当前线程退出pthread_join,获取线程ID pthread_self
- 获取进程和线程id函数简介
- 线程等待与线程的返回值
- Linux线程编程 - 线程退出与等待
- 线程结束等待与线程优先级
- 线程等待
- Python学习笔记(七)-- 装饰器
- 初步认识Java的集合类
- ListView源码(推荐)
- 解决php7中 ”Uncaught Error: Class 'mysqli' not found“的问题
- Android Studio 简单使用 GreenDao3.0
- LAMBDA表达式与线程及线程等待和获取线程ID
- Set 到 Map的扩展--- 实现map
- 统计Apache访问次数前3名的IP
- CSS 去掉 HTML 之中 li 元素的点
- Fragment嵌套高德地图,切换黑屏,切换卡死退出解决方案
- Linux中设置服务自启动的三种方式
- 怎么使用事件的绑定
- Hessian源码分析--HessianProxyFactory
- NAT ICE STUN TURN uPNP概念