共用方式為


structured_task_group::run 方法

structured_task_group 物件上排程工作。 呼叫端會管理在 _Task_handle參數中傳遞之 task_handle 物件的存留期。 採用 _Placement 參數的版本會造成工作被偏移往執行該參數所指定的位置。

template<
   class _Function
>
void run(
   task_handle<_Function>& _Task_handle
);

template<
   class _Function
>
void run(
   task_handle<_Function>& _Task_handle,
   location& _Placement
);

參數

  • _Function
    欲叫用以執行工作處理主體之函式物件的型別。

  • _Task_handle
    正在排程工時的控制代碼。 請注意,呼叫端必須負責此物件的存留期。 執行階段會繼續預期它仍存留,直到在這個 structured_task_group 物件上呼叫 waitrun_and_wait 方法。

  • _Placement
    為 _Task_handle 參數所表示的工作應該執行位置的參考。

備註

執行階段會建立傳遞給此方法的工作函式複本。 在您傳遞至此方法之函式物件中發生的任何狀態變更都不會在該函式物件的複本中出現。

如果 structured_task_group 因堆疊從例外狀況回溯而解構,您不需要保證已呼叫 waitrun_and_wait 方法。 在這種情況下,解構函式會適當地取消並等候以 _Task_handle 參數表示的工作完成。

如果 _Task_handle參數指定的工作控制代碼已排定到工作群組物件 (透過 run 方法),而且該工作群組已經沒有 waitrun_and_wait 方法的中間呼叫,會擲回invalid_multiple_scheduling例外狀況。

需求

標頭: ppl.h

**命名空間:**concurrency

請參閱

參考

structured_task_group 類別

structured_task_group::wait 方法

structured_task_group::run_and_wait 方法

location 類別

概念

工作平行處理原則 (並行執行階段)