std::thread

来自cppreference.com
< cpp‎ | thread
定义于头文件 <thread>
class thread;
(C++11 起)

thread 表示单个执行线程。线程允许多个函数并发执行。

紧接着关联的线程对象构造,线程开始执行(为任何 OS 调度延迟悬挂),始于作为构造函数参数提供的顶层函数。忽略顶层函数的返回值,而且若它以抛异常终止,则调用 std::terminate 。顶层函数可以通过 std::promise 或修改共享变量(这可能要求同步,见 std::mutexstd::atomic )交流其返回值或异常到调用方。

std::thread 对象亦可在不表示任何线程的状态(默认构造、被移动、 detachjoin 后),而执行线程可以不关联到任何 thread 对象( detach 后)。

没有二个 std::thread 对象会表示同一执行线程; std::thread可复制构造 (CopyConstructible) 或可复制赋值 (CopyAssignable) ,尽管它可移动构造 (MoveConstructible) 且可移动赋值 (MoveAssignable) 。

目录

[编辑] 成员类型

成员类型 定义
native_handle_type 实现定义

[编辑] 成员类

表示线程的 id
(公开成员类) [编辑]

[编辑] 成员函数

构造新的 thread 对象
(公开成员函数) [编辑]
析构 thread 对象,必须合并或分离底层线程
(公开成员函数) [编辑]
移动 thread 对象
(公开成员函数) [编辑]
观察器
检查线程是否可合并,即潜在地运行于平行环境中
(公开成员函数) [编辑]
(C++11)
返回线程的 id
(公开成员函数) [编辑]
返回底层实现定义的线程句柄
(公开成员函数) [编辑]
返回实现支持的并发线程数
(公开静态成员函数) [编辑]
操作
等待线程完成其执行
(公开成员函数) [编辑]
容许线程从线程句柄独立开来执行
(公开成员函数) [编辑]
交换二个 thread 对象
(公开成员函数) [编辑]

[编辑] 非成员函数

特化 std::swap 算法
(函数模板) [编辑]