std::thread
来源:互联网 发布:淘宝淘客联盟 编辑:程序博客网 时间:2024/06/09 18:34
class thread;
Thread:
表示一个独立的执行线程类。
在多线程环境中,一个线程的指令执行在同一个地址空间是并发的。意思是不同线程可共享同一个地址空间并且能够各自执行自己的指令而不会相互干扰,在线程自己看来好像是独占该地址空间。
一个已经初始化的线程对象表示的是一个激活的执行过程。这样的线程处于joinable状态,并且拥有一个独一无二的线程id。
一个默认构造(非初始化的)的线程对象不会处于joinable状态,并且它的线程id是和所有非joinable状态的线程一样。
一个joinable状态的线程如果被赋值给了其他线程(调用thread::operator=时)或者调用了join或detach时,会变成非joinable状态。
成员类型:
id:线程id
native_handle_type:本地句柄类型
成员函数:
(constructor):构造线程
(destructor):析构线程
operator=:移动赋值线程
get_id:获取线程id
joinable:检测是否处于joinable装填
join:连接线程
detach:分离线程
swap:调换线程
native_handle:获取本地句柄
hardware_concurrency:检测硬件并发
非成员函数重载:
swap(thread)
实例:
#include<stdafx.h> #include<iostream> #include<thread> void foo() { std::cout << "in foo function now...\n"; } void bar(int x) { std::cout << "in bar function now...\n"; } int main() { std::thread first(foo); //创建新线程 调用foo函数 std::thread second(bar, 0);// 创建新线程 调用bar函数 std::cout << "main, foo and bar now execute concurrently...\n"; // 同步线程 first.join(); second.join(); std::cout << "foo and bar completed.\n"; getchar(); return 0; }
结果:
阅读全文
0 0
- 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::thread 学习初步
- std::thread 构造
- std::thread vs CreateThread
- std::thread 学习记录
- STL线程 std::thread
- C++ std::thread笔记
- std::thread详解
- std::thread使用
- C++:线程(std::thread)
- C++ std::thread的坑
- C++ 11 的std::thread
- mysql(mariadb)忘记密码
- R语言mac helloworld
- 用变量a给出下面的定义
- 【python 图像压缩算法】opencv图像压缩
- The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
- std::thread
- 欢迎使用CSDN-markdown编辑器
- 工具类——使用Timber自定义日志并保存文件查看
- 7月书讯:众多畅销书升级!
- C++之++和--操作符重载
- bootstrap 链接打开模态框数据无法刷新的解决方案
- 接口编写规范
- Prototype(原型模式)
- nc6报错 Failed to load ESAPI.properties as a classloader resource.