次の方法で共有


promise::set_value_at_thread_exit のメソッド

アトミックに promise のオブジェクトの結果値を格納します。

void promise::set_value_at_thread_exit(const Ty& Val);
void promise::set_value_at_thread_exit(Ty&& Val);
void promise<Ty&>::set_value_at_thread_exit(Ty& Val);
void promise<void>::set_value_at_thread_exit();

パラメーター

  • Val
    結果として格納する値。

解説

約束のオブジェクトに no_stateのエラー コードがある 関連の非同期状態がない場合、このメソッドは future_error

set_exceptionset_exception_at_thread_exitset_value、または set_value_at_thread_exitpromise_already_satisfiedのエラー コードと同じ関連する非同期の状態がの promise のオブジェクトに対して既にあった場合、このメソッドは future_error

set_valueとは対照的に、関連する非同期状態は、準備完了に、現在のスレッドのスレッド ローカルのオブジェクトが破棄されるまでは設定されません。通常、関連する非同期状態でブロックされたスレッドは、現在のスレッドが終了するまでブロックを除外されません。

最初のメソッドは、Val が関連する非同期状態にコピーすると例外がスローされます。

2 番目のメソッドは、Val が関連する非同期状態に移動すると例外がスローされます。

部分的特殊化 promise<Ty&>のは、格納されている値は、Valへの参照です。

特化 promise<void>の場合、この値はありません。

必要条件

将来のヘッダー:

名前空間: std

参照

関連項目

promiseのクラス

<future>