线程支持库

来自cppreference.com
< cpp
 
 
线程支持库
线程
(C++11)
this_thread 命名空间
(C++11)
(C++11)
(C++11)
互斥
(C++11)
通用锁管理
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
条件变量
(C++11)
期货
(C++11)
(C++11)
(C++11)
(C++11)
 

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

目录

[编辑] 线程

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

定义于头文件 <thread>
(C++11)
管理一个单独的线程
原文:
manages a separate thread
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

(类) [编辑]
管理当前线程的函数
定义于命名空间 this_thread
(C++11)
建议(根据具体实现)交出当前时间片来执行其他线程
(函数) [编辑]
(C++11)
返回当前线程的线程ID
原文:
returns the thread id of the current thread
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

(函数) [编辑]
(C++11)
使线程休眠一段时间
(函数) [编辑]
暂停当前线程的执行直到特定的时间点
(函数) [编辑]

[编辑] 缓存大小访问

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

[编辑] 互斥

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

定义于头文件 <mutex>
(C++11)
提供基本互斥设施
(类) [编辑]
提供带有超时的锁的互斥设施
原文:
provides mutual exclusion facility which implements locking with a timeout
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

(类) [编辑]
提供互斥设施,可以由同一个线程递归加锁
原文:
provides mutual exclusion facility which can be locked recursively by the same thread
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

(类) [编辑]
提供带有超时的锁的互斥设施 ,并且可以由同一个线程递归加锁
原文:
provides mutual exclusion facility which can be locked recursively
by the same thread and implements locking with a timeout
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

(类) [编辑]
定义于头文件 <shared_mutex>
提供共享互斥设施
(类) [编辑]
提供共享互斥设施
(类) [编辑]
通用互斥管理
定义于头文件 <mutex>
实现了严格的基于作用域的互斥体所有权包装
原文:
implements a strictly scope-based mutex ownership wrapper
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

(类模板) [编辑]
多互斥的免死锁 RAII 封装器
(类模板) [编辑]
实现可移动的互斥体所有权包装
原文:
implements movable mutex ownership wrapper
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

(类模板) [编辑]
实现可移动的共享互斥所有权封装器
(类模板) [编辑]
用于指定锁定策略的标签类型
原文:
tag type used to specify locking strategy
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

(类) [编辑]
用来指定锁定策略的标签常量
原文:
tag constants used to specify locking strategy
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

(常量) [编辑]
通用锁定算法
(C++11)
通过重复调用try_lock来尝试获得互斥体的所有权
原文:
attempts to obtain ownership of mutexes via repeated calls to try_lock
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

(函数模板) [编辑]
(C++11)
对指定互斥体加锁,如果锁不可用则会阻塞
(函数模板) [编辑]
单次调用
(C++11)
call_once的辅助对象,确保只调用该函数一次
原文:
helper object to ensure that call_once invokes the function only once
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

(类) [编辑]
(C++11)
即使从多个线程调用,也只调用函数一次
原文:
invokes a function only once even if called from multiple threads
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

(函数模板) [编辑]

[编辑] 条件变量

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

定义于头文件 <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 上的定时等待的结果
(枚举) [编辑]
期货错误
报告关联到 future 或 promise 的错误
(类) [编辑]
鉴别 future 错误类别
(函数) [编辑]
鉴别 future 错误码
(枚举) [编辑]

[编辑] 参阅

线程支持库C 文档