共用方式為


promise::set_value 方法

自動儲存一個值作為 promise 物件的結果並設定 關聯非同步狀態(associated asynchronous state) 至 準備狀態(ready)。

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

參數

  • Val
    做為結果中儲存的值。

備註

如果promise物件沒有相關聯的非同步狀態,則這個方法會擲回含有no_state的錯誤碼future_error

如果 set_exceptionset_exception_at_thread_exitset_valueset_value_at_thread_exit 已經由具有同一個相關聯的非同步狀態的 promise 物件所呼叫,則這個方法會擲回含有 promise_already_satisfied 的錯誤碼之 future_error

由於這個方法,在這個關聯的非同步狀態會封鎖所有執行緒變成解除封鎖。

第一個方法也會擲回擲回的所有例外狀況,當 Val 複製到這個關聯的非同步狀態時。 在這種情況下,相關的非同步狀態未設定為準備。

第二個方法也會擲回擲回的所有例外狀況,當 Val 移動到這個關聯的非同步狀態時。 在這種情況下,相關的非同步狀態未設定為準備。

對於部分特製化 promise<Ty&>,儲存值實際上是對 Val 的參考。

對於特製化 promise<void>,儲存值不存在。

需求

標題: future

命名空間: std

請參閱

參考

promise 類別

<future>