线程支持库

C++ 包含线程、互斥、条件变量和期货的内建支持。

目录

线程

线程使得程序能跨过数个处理器核心执行。

定义于头文件 <thread>
(C++11)
管理分离的线程
(类)
管理当前线程的函数
定义于命名空间 this_thread
(C++11)
建议实现再次调度线程的执行
(函数)
(C++11)
返回当前线程的线程 id
(函数)
(C++11)
使线程休眠一段时间
(函数)
(C++11)
暂停当前线程的执行直到特定的时间点
(函数)

缓存大小访问

定义于头文件 <new>
避免假共享的最小偏移
促使真共享的最大偏移
(常量)

互斥

互斥算法避免多个线程同时访问共享资源。这会避免数据竞争,并提供线程间的同步支持。

定义于头文件 <mutex>
(C++11)
提供基本互斥设施
(类)
(C++11)
提供互斥设施,实现有时限锁定
(类)
提供能被同一线程递归锁定的互斥设施
(类)
提供能被同一线程递归锁定的互斥设施,并实现有时限锁定
(类)
定义于头文件 <shared_mutex>
(C++17)
提供共享互斥设施
(类)
提供共享互斥设施
(类)
通用互斥管理
定义于头文件 <mutex>
(C++11)
实现严格基于作用域的互斥所有权包装器
(类模板)
(C++17)
多互斥的免死锁 RAII 封装器
(类模板)
(C++11)
实现可移动的互斥锁有权包装器
(类模板)
(C++14)
实现可移动的共享互斥所有权封装器
(类模板)
用于指定锁定策略的标签类型
(类)
(C++11)
(C++11)
(C++11)
用于指定锁定策略的标签常量
(常量)
通用锁定算法
(C++11)
试图通过重复调用 try_lock 获得互斥的所有权
(函数模板)
(C++11)
锁定互斥,若有任何不可用者则阻塞
(函数模板)
单次调用
(C++11)
确保 call_once 只调用函数一次的帮助对象
(类)
(C++11)
仅调用函数一次,即使从多个线程调用
(函数模板)

条件变量

条件变量是允许多个线程相互交流的同步原语。它允许一定量的线程等待(可以定时)另一线程的提醒,然后再继续。条件变量始终关联到一个互斥。

定义于头文件 <condition_variable>
提供与 std::unique_lock 关联的条件变量
(类)
提供与任何锁类型关联的条件变量
(类)
安排到在此线程完全结束时对 notify_all 的调用
(函数)
(C++11)
列出条件变量上定时等待的可能结果
(枚举)

期货

标准库提供工具,可获得异步任务(即在分离的线程启动的函数)的返回值,并捕捉其所抛出的异常。这些值在共享状态中交流,其中异步任务可能写入其返回值或存储异常,而且可能被保有引用该共享态的 std::futurestd::shared_future 实例的线程检验、等待或是操作。


定义于头文件 <future>
(C++11)
存储用作异步检索的值
(类模板)
将函数打包以为异步检索存储其返回值
(类模板)
(C++11)
等待被异步设置的值
(类模板)
等待被异步设置的值(可能为其他 future 所引用)
(类模板)
(C++11)
异步运行函数(有可能在新线程中)并返回保有结果的 std::future
(函数模板)
(C++11)
指定 std::async 所用的运行策略
(枚举)
指定在 std::futurestd::shared_future 上的定时等待的结果
(枚举)
期货错误
(C++11)
报告关联到 future 或 promise 的错误
(类)
鉴别 future 错误类别
(函数)
(C++11)
鉴别 future 错误码
(枚举)

参阅

线程支持库C 文档

版本历史

  • (当前 | 先前 2017年9月25日 (一) 01:06Fruderica讨论 | 贡献 . . (3,394字节) (+9). . (wording) (撤销)
  • 当前 | 先前 2017年8月27日 (日) 23:47Fruderica讨论 | 贡献 . . (3,385字节) (-17). . (撤销)
  • 当前 | 先前 2017年8月25日 (五) 12:11Fruderica讨论 | 贡献 . . (3,402字节) (-3). . (撤销)
  • 当前 | 先前 2017年6月6日 (二) 21:44Fruderica讨论 | 贡献. . (3,405字节) (-390). . (撤销)
  • 当前 | 先前 2016年12月7日 (三) 17:3045.248.85.163讨论. . (3,795字节) (-8). . (撤销)
  • 当前 | 先前 2016年12月7日 (三) 17:1245.248.85.163讨论. . (3,803字节) (+294). . (撤销)
  • 当前 | 先前 2016年12月7日 (三) 16:4345.248.85.163讨论. . (3,509字节) (-21). . (撤销)
  • 当前 | 先前 2013年8月7日 (三) 18:41Titicacafz讨论 | 贡献. . (3,530字节) (-47). . (撤销)
  • 当前 | 先前 2013年7月9日 (二) 03:04P12bot讨论 | 贡献 . . (3,577字节) (+6). . (Allow search engines to index popular pages.) (撤销)
  • 当前 | 先前 2013年7月2日 (二) 12:29P12bot讨论 | 贡献 . . (3,571字节) (-512). . (Use {{lc}}. Update links. Various fixes.) (撤销)
  • 当前 | 先前 2012年11月2日 (五) 14:26P12bot讨论 | 贡献 . . (4,083字节) (+163). . (r2.7.3) (机器人添加:ar, de, en, es, fr, it, ja, pt, ru) (撤销)
  • 当前 | 先前 2012年10月26日 (五) 04:08P12讨论 | 贡献 . . (3,920字节) (0). . (1个修订: Translate from the English version) (撤销)
  • 当前 | 先前) 2012年10月25日 (四) 13:00TranslationBot讨论 | 贡献. . (3,920字节) (+3,920). . (Translated from the English version using Google Translate)