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_exception、set_exception_at_thread_exit、 set_value、或set_value_at_thread_exit上述之一已經由具有同一個相關聯的非同步狀態的promise物件所呼叫,則這個方法會擲回含有promise_already_satisfied的錯誤碼之future_error。
相反地, set_value,在這種情況下,終結後,將相關的非同步狀態未設定準備,直到在目前執行緒的執行緒區域物件。 通常,被封鎖於關聯非同步狀態的執行緒會被封鎖到目前的執行緒結束為止。
第一個方法也會擲回擲回的所有例外狀況,當 Val 複製到這個關聯的非同步狀態時。
第二個方法也會擲回擲回的所有例外狀況,當 Val 移動到這個關聯的非同步狀態時。
對於部分特製化 promise<Ty&>,儲存值實際上是對 Val的參考。
對於特製化 promise<void>,儲存值不存在。
需求
標題: future
命名空間: std