次の方法で共有


promise::set_exception_at_thread_exit メソッド

この promise の結果をアトミックに設定して例外を示し、現在のスレッドのすべてのスレッド ローカルのオブジェクトが破棄された後にのみ通知を配信します (通常はスレッド終了時)。

void set_exception_at_thread_exit(exception_ptr Exc);

パラメーター

  • Exc
    このメソッドにより例外結果として格納されている exception_ptr

解説

約束オブジェクトが関連付けられた非同期状態ではない場合、このメソッドは no_state のエラー コードを持つ future_error をスローします。

set_exceptionset_exception_at_thread_exitset_value、または set_value_at_thread_exit が同じ関連付けられた非同期状態の promise オブジェクトに対して既に呼び出されている場合、このメソッドは promise_already_satisfied のエラー コードを持つ future_error をスローします。

set_exception とは対照的に、このメソッドでは、関連付けられた非同期状態は、現在のスレッドのすべてのスレッド ローカルのオブジェクトが破棄されるまでは準備完了に設定されません。 通常、関連付けられた非同期状態に対してブロックされたスレッドは、現在のスレッドが終了するまでブロック解除されません。

必要条件

ヘッダー: future

名前空間: std

参照

関連項目

promise クラス

<future>