std::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 对象
(公开成员函数)
观察器
检查线程是否可合并,即潜在地运行于平行环境中
(公开成员函数)
返回线程的 id
(公开成员函数)
返回底层实现定义的线程句柄
(公开成员函数)
返回实现支持的并发线程数
(公开静态成员函数)
操作
等待线程完成其执行
(公开成员函数)
容许线程从线程句柄独立开来执行
(公开成员函数)
交换二个 thread 对象
(公开成员函数)

非成员函数

特化 std::swap 算法
(函数模板)

版本历史

  • (当前 | 先前 2017年11月19日 (日) 06:53Yaossg讨论 | 贡献 . . (2,102字节) (0). . (两个而不是二个) (撤销)
  • 当前 | 先前 2017年8月24日 (四) 05:14Fruderica讨论 | 贡献. . (2,102字节) (+399). . (撤销)
  • 当前 | 先前 2013年7月9日 (二) 02:04P12bot讨论 | 贡献 . . (1,703字节) (+6). . (Allow search engines to index popular pages.) (撤销)
  • 当前 | 先前 2013年7月2日 (二) 11:35P12bot讨论 | 贡献 . . (1,697字节) (-245). . (Use {{lc}}. Update links. Various fixes.) (撤销)
  • 当前 | 先前 2012年11月2日 (五) 18:34P12bot讨论 | 贡献 . . (1,942字节) (+201). . (r2.7.3) (机器人添加:de, en, es, fr, it, ja, pt, ru) (撤销)
  • 当前 | 先前 2012年10月26日 (五) 03:32P12讨论 | 贡献 . . (1,741字节) (0). . (1个修订: Translate from the English version) (撤销)
  • 当前 | 先前) 2012年10月25日 (四) 12:00TranslationBot讨论 | 贡献. . (1,741字节) (+1,741). . (Translated from the English version using Google Translate)