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();
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應