c++11 thread 封装线程类
来源:互联网 发布:金融征信软件 编辑:程序博客网 时间:2024/06/07 18:14
c++ thread也挺好用的,也可以像qt thread那样,start启动,run函数为线程的实际运行代码。thread和this_thread方法不多,常用的就几个。
1.std::this_thread::get_id 获取线程id
2.yield,和sleep。yield,交出cpu占有权,一般可以放到多线程的循环里,减少cpu空转
3.一般代码构建完thread,线程跑起来detach一下,qt是默认会detach的。join实际代码一般不用,就主线程等待其他多个线程结束会用到下。
#include <thread>class TestThread{public:void start(){ thread t(std::bind(&TestThread::run,this));t.detach();}void run(){while (true){cout << "test thread id:" << std::this_thread::get_id()<<endl;std::this_thread::sleep_for(std::chrono::milliseconds(2000));}}};void run(){while (true){cout << "function thread id:" << std::this_thread::get_id() << endl;std::this_thread::sleep_for(std::chrono::milliseconds(2000));}}int main(void){cout << "main thread id:" << std::this_thread::get_id() << endl;
TestThread testThread;testThread.start();
thread funcThread(&run);funcThread.detach();getchar();return 0;}
0 0
- c++11 thread 封装线程类
- 【c++】线程thread类
- Android线程封装基类Thread
- Android线程封装基类Thread
- Android线程封装基类Thread
- muduo源码分析:线程类Thread封装
- 线程封装组件(BackgroundWorker)和线程(Thread)
- C++/MFC-线程Thread
- C++:线程(std::thread)
- Thread类封装
- android的线程封装(Thread)
- C语言封装线程与日志类
- Linux线程的thread.c
- 【C/C++开发】C++ Thread对象封装
- C#Thread类多线程系列之(三)线程同步技术
- 将boost::thread的某些简单功能封装成类java线程的想法。
- 《ASCE1885的源码分析》の跨平台线程对象Thread封装基类
- Thread线程类
- MySQL索引类型
- LNMP环境下crontab问题
- 文件操作
- 单例设计模式
- 理想的机器学习书
- c++11 thread 封装线程类
- C#内存分配学习
- AutoEncoder、RBM、DBM、DBN初探
- Ubuntu下crontab命令的用法
- 【Android】直接利用View创建Dialog
- 【LeetCode OJ 34】Search for a Range
- 从用户感知谈软件性能测试
- python实现简单爬虫功能
- Mybatis MapperScannerConfigurer 自动扫描 将Mapper接口生成代理注入到Spring