structured_task_group::run_and_wait 方法
排程工作以內嵌方式執行於呼叫內容,並以 structured_task_group 物件協助支援完整的取消作業。 如果將 task_handle 物件做為參數傳遞到 run_and_wait,呼叫端會負責管理 task_handle 物件的存留期。 函式接著會等候直到 structured_task_group 物件上的所有工時已完成或取消。
template<
class _Function
>
task_group_status run_and_wait(
task_handle<_Function>& _Task_handle
);
template<
class _Function
>
task_group_status run_and_wait(
const _Function& _Func
);
參數
_Function
執行工作會叫用的函式物件的類型。_Task_handle
工作控制代碼,將會在呼叫內容上內嵌執行。 請注意,呼叫端必須負責此物件的存留期。 執行階段會繼續預期它存留,直到 run_and_wait 方法完成執行為止。_Func
用於叫用工作本體的函式。 這可能是 Lambda 或其他支援函式呼叫運算子與簽章 void operator()() 版本的物件。
傳回值
表示已完成等候或工作群組已取消,原因是明確取消作業或從其中一個工作擲回例外狀況。 如需詳細資訊,請參閱 task_group_status
備註
請注意,一或多個排程至此 structured_task_group 物件的工作可以在呼叫內容上內嵌執行。
如果排程至此 structured_task_group 物件的一或多個工作擲回例外狀況,執行階段會選取其中一個例外狀況,並將它傳播至 run_and_wait 方法以外。
此函式傳回後,就會認定 structured_task_group 物件處於最終狀態而不會再使用。 請注意,在 run_and_wait 方法傳回後使用將會導致未定義的行為。
在執行的非例外狀況路徑中,您必須先呼叫這個方法或 wait 方法, structured_task_group 的解構函式才能執行。
需求
標頭: ppl.h
**命名空間:**concurrency
請參閱
參考
structured_task_group::wait 方法