名前空間
変種
操作

std::launch

From cppreference.com
< cpp‎ | thread
 
 
並行性サポートライブラリ
スレッド
(C++11)
(C++20)
this_thread 名前空間
(C++11)
(C++11)
(C++11)
協調的なキャンセル
排他制御
(C++11)
汎用ロック管理
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
条件変数
(C++11)
セマフォ
ラッチとバリア
(C++20)
(C++20)
future
(C++11)
(C++11)
(C++11)
launch
(C++11)
安全なメモリ解放 (Safe Reclamation)
(C++26)
ハザードポインタ
アトミック型
(C++11)
(C++20)
アトミック型の初期化
(C++11)(C++20で非推奨)
(C++11)(C++20で非推奨)
メモリオーダー
(C++11)(C++26で非推奨)
アトミック操作のためのフリー関数
アトミックフラグのためのフリー関数
 
ヘッダ <future> で定義
enum class launch : /* 未指定 */ {

    async =    /* 未指定 */,
    deferred = /* 未指定 */,
    /* 実装定義 */

};
(C++11以降)

std::launchBitmaskType です。これは std::async 関数によって実行されるタスクの起動ポリシーを指定します。

[編集] 定数

標準ライブラリによって定義される、個々のビットを表す以下の定数があります。

名前 説明
async タスクは、まず作成・起動して、別のスレッドで実行されます。
deferred タスクは、その結果が最初に要求されたとき(遅延評価)に、呼び出し元スレッドで実行されます。

さらに、実装は以下のことを許可されています。

  • タスク間の相互作用の制約を指定するための追加のビットおよびビットマスクを定義し、これらは起動ポリシーのサブセットに適用されます。
  • std::async の最初の(デフォルトの)オーバーロードに対して、これらの追加のビットマスクを有効にします。

[編集] 欠陥報告

以下の動作変更を伴う欠陥報告が、以前に公開されたC++標準に遡って適用されました。

DR 適用対象 公開された動作 正しい動作
LWG 2102 C++11 std::launch は実装定義の型でした。 実装定義ではありません。

[編集] 関連項目

(C++11)
関数を非同期に(場合によっては新しいスレッドで)実行し、結果を保持する std::future を返す
(関数テンプレート) [編集]
English 日本語 中文(简体) 中文(繁體)