std::launch
来自 cppreference.com
定义在头文件 <future> 中 |
||
enum class launch : /* unspecified */ { async = /* unspecified */, |
(自 C++11 起) | |
std::launch
是一个 BitmaskType。它指定了由 std::async 函数执行的任务的启动策略。
[编辑] 常量
以下表示单个位的常量由标准库定义
名称 | 解释 |
async
|
任务在不同的线程上执行,可能首先创建和启动它 |
deferred
|
任务在第一次请求其结果时在调用线程上执行(延迟计算) |
此外,实现允许
- 定义额外的位和位掩码以指定适用于启动策略子集的任务交互的限制,以及
- 为 std::async 的第一个(默认)重载启用这些额外的位掩码。
[编辑] 缺陷报告
以下更改行为的缺陷报告被追溯地应用于以前发布的 C++ 标准。
DR | 应用于 | 已发布的行为 | 正确行为 |
---|---|---|---|
LWG 2102 | C++11 | std::launch 是一个实现定义的类型 |
它不是实现定义的 |
[编辑] 另请参见
(C++11) |
异步运行一个函数(可能在新线程中),并返回一个 std::future,它将保存结果 (函数模板) |