共用方式為


task 類別 (並行執行階段)

平行模式程式庫 (PPL) task 類別。 task 物件代表可以非同步執行,並可與其他工作以及並行執行階段中平行演算法所產生的平行工作同時執行的工作。 成功完成時,會產生 _ResultType 類型的結果。 task<void> 類型的工作不會產生任何結果。 工作可以獨立於其他工作,個別等候及取消。 您也可以使用 continuations(then)、join(when_all) 和 choice(when_any) 等模式,將工作與其他工作組合在一起。

template <    typename _Type > class task;  template <> class task<void>;  template<    typename _ReturnType > class task;

參數

  • _Type

  • T

  • _ReturnType
    此工作的結果類型。

Members

公用 Typedefs

名稱

描述

result_type

此類別物件所產生的結果類型。

公用建構函式

名稱

描述

task::task 建構函式

多載。 建構 task 物件。

公用方法

名稱

描述

task::get 方法

多載。 傳回這個工作產生的結果。 如果工作不在終止狀態,則呼叫 get 將會等候工作完成。 在 result_typevoid 的工作上被呼叫時,這個方法不會傳回值。

task::is_apartment_aware 方法

判斷工作是否解除包裝 Windows 執行階段 IAsyncInfo 介面或是從這類工作繼承而來。

task::is_done 方法 (並行執行階段)

判定工作是否完成。

task::scheduler 方法 (並行執行階段)

傳回此工作的排程器

task::then 方法

多載。 將接續工作加入至此工作。

task::wait 方法

等候這個工作到達終止狀態。 如果符合所有的工作相依性,而且未經選取供背景工作執行,則 wait 可以執行內嵌工作。

公用運算子

名稱

描述

task::operator!= 運算子

多載。 判斷兩個 task 物件是否表示不同的內部工作。

task::operator= 運算子

多載。 將某個 task 物件的內容取代為另一個物件的內容。

task::operator== 運算子

多載。 判斷兩個 task 物件是否表示相同的內部工作。

備註

ppltasks.h 中定義的工作類別和相關類型可跨平台轉移,而且是 C++ REST SDK (非同步 HTTP 的可攜式程式庫) 的基礎。

如需詳細資訊,請參閱工作平行處理原則 (並行執行階段)

繼承階層

task

需求

**標頭:**ppltasks.h

**命名空間:**concurrency

請參閱

參考

concurrency 命名空間