task_handle 類別
task_handle
類別代表個別的平行工作項目。 它會封裝執行工作所需的指示和資料。
語法
template<
typename _Function
>
class task_handle : public ::Concurrency::details::_UnrealizedChore;
參數
_功能
要叫用以執行 物件所 task_handle
表示之工作的函式物件型別。
成員
公用建構函式
名稱 | 描述 |
---|---|
task_handle | 建構新的 task_handle 物件。 工作的工作是叫用指定為建構函式參數的函式來執行。 |
~task_handle解構函式 | task_handle 終結物件。 |
公用運算子
名稱 | 描述 |
---|---|
operator() | 運行時間叫用以執行工作句柄工作的函數調用運算符。 |
備註
task_handle
物件可以與 或 更通用task_group
的物件搭配structured_task_group
使用,將工作分解成平行工作。 如需詳細資訊,請參閱 工作平行處理原則。
請注意,物件的建立 task_handle
者負責維護所建立 task_handle
物件的存留期,直到並行運行時間不再需要該物件為止。 一般而言,這表示task_handle
對象在呼叫佇列的 task_group
或 run_and_wait
structured_task_group
方法之前wait
,不得解構物件。
task_handle
物件通常會與 C++ Lambda 搭配使用。 因為您不知道 Lambda 的真實類型, make_task 函式通常用來建立 task_handle
物件。
運行時間會建立您傳遞至 task_handle
物件的工作函式複本。 因此,您傳遞給 task_handle
物件的函式對象中發生的任何狀態變更都不會出現在該函式對象的複本中。
繼承階層架構
task_handle
需求
標頭: ppl.h
命名空間: concurrency
operator()
運行時間叫用以執行工作句柄工作的函數調用運算符。
void operator()() const;
task_handle
建構新的 task_handle
物件。 工作的工作是叫用指定為建構函式參數的函式來執行。
task_handle(const _Function& _Func);
參數
_Func
將叫用以執行物件所 task_handle
表示之工作的函式。 這可能是 Lambda 函式、函式的指標,或任何支援具有簽章 void operator()()
之函式呼叫運算符版本的物件。
備註
運行時間會建立您傳遞至建構函式的工作函式複本。 因此,您傳遞給 task_handle
物件的函式對象中發生的任何狀態變更都不會出現在該函式對象的複本中。
~task_handle
task_handle
終結物件。
~task_handle();