std::launch
From cppreference.com
| ヘッダ <future> で定義 |
||
| enum class launch : /* 未指定 */ { async = /* 未指定 */, |
(C++11以降) | |
std::launch は BitmaskType です。これは std::async 関数によって実行されるタスクの起動ポリシーを指定します。
[編集] 定数
標準ライブラリによって定義される、個々のビットを表す以下の定数があります。
| 名前 | 説明 |
async
|
タスクは、まず作成・起動して、別のスレッドで実行されます。 |
deferred
|
タスクは、その結果が最初に要求されたとき(遅延評価)に、呼び出し元スレッドで実行されます。 |
さらに、実装は以下のことを許可されています。
- タスク間の相互作用の制約を指定するための追加のビットおよびビットマスクを定義し、これらは起動ポリシーのサブセットに適用されます。
- std::async の最初の(デフォルトの)オーバーロードに対して、これらの追加のビットマスクを有効にします。
[編集] 欠陥報告
以下の動作変更を伴う欠陥報告が、以前に公開されたC++標準に遡って適用されました。
| DR | 適用対象 | 公開された動作 | 正しい動作 |
|---|---|---|---|
| LWG 2102 | C++11 | std::launch は実装定義の型でした。 |
実装定義ではありません。 |
[編集] 関連項目
| (C++11) |
関数を非同期に(場合によっては新しいスレッドで)実行し、結果を保持する std::future を返す (関数テンプレート) |