std::thread vs CreateThread
来源:互联网 发布:c语言cin怎么用 编辑:程序博客网 时间:2024/05/30 23:27
从 C++11 开始,线程,成为了 C++ 标准库的一部分,所以我们可以不再使用 CreateThread 来创建线程,简简单单地使用 std::thread 即可。
而且,CreateThread 是平台相关的,而 std::thread 是跨平台的。
例:
// MultiThreadConsole.cpp : Defines the entry point for the console application.//#include <iostream>#include <thread>#include <chrono>using namespace std;static bool is_resouce_ready = false;static bool to_terminate = false;static thread* worker_thread = nullptr;void foo();int main(){ cout << "Main thread start." << endl; worker_thread = new std::thread(foo); this_thread::sleep_for(chrono::seconds(1)); is_resouce_ready = true; this_thread::sleep_for(chrono::seconds(3)); to_terminate = true; this_thread::sleep_for(chrono::seconds(1)); cout << "Main thread is ending." << endl; return 0;}void foo(){ cout << "Worker thread start." << endl; while (!is_resouce_ready && !to_terminate) {} cout << "Worker thread is working." << endl; while (!to_terminate) { cout << "LOOP" << endl; this_thread::sleep_for(chrono::milliseconds(500)); } cout << "Worker thread is ending." << endl;}
参考文档
- std::thread
- std::this_thread::sleep_for
0 0
- std::thread vs CreateThread
- std :: thread
- std::thread
- std::thread
- std::thread and std::mutex
- std::thread and std::mutex
- std::async替代std::thread
- std::thread pthread boost::thread
- std::oststream VS std::ostringstream
- std::thread 学习初步
- std::thread 构造
- std::thread 学习记录
- STL线程 std::thread
- C++ std::thread笔记
- std::thread详解
- std::thread使用
- C++:线程(std::thread)
- RVO vs std:move
- 常换常新 PMC SAS/SATA HBA 不输“乌镇”
- MAC中设置android adb环境变量
- LeetCode Remove Duplicate Letters
- Leetcode-127.Word Ladder
- 黑马程序员_多线程1.50的特性
- std::thread vs CreateThread
- win10(UEFI)安装卸载ubuntu
- Qt悬浮窗
- Java2.1
- Cardboard虚拟现实开发技巧(二)之保持手机常亮
- XAMPP端口占用问题的解决
- sublime的常用快捷键
- ES6学习——新的语法:对象解构(Object Destructuring)
- 2016{太原UI设计师}郭文军PS中图层的理解