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_grouprun_and_waitstructured_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();

另請參閱

concurrency 命名空間
task_group 類別
structured_task_group 類別