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 物件。 |
公用方法
名稱 |
描述 |
---|---|
多載。 傳回這個工作產生的結果。 如果工作不在終止狀態,則呼叫 get 將會等候工作完成。 在 result_type 為 void 的工作上被呼叫時,這個方法不會傳回值。 |
|
判斷工作是否解除包裝 Windows 執行階段 IAsyncInfo 介面或是從這類工作繼承而來。 |
|
判定工作是否完成。 |
|
傳回此工作的排程器 |
|
多載。 將接續工作加入至此工作。 |
|
等候這個工作到達終止狀態。 如果符合所有的工作相依性,而且未經選取供背景工作執行,則 wait 可以執行內嵌工作。 |
公用運算子
名稱 |
描述 |
---|---|
多載。 判斷兩個 task 物件是否表示不同的內部工作。 |
|
多載。 將某個 task 物件的內容取代為另一個物件的內容。 |
|
多載。 判斷兩個 task 物件是否表示相同的內部工作。 |
備註
ppltasks.h 中定義的工作類別和相關類型可跨平台轉移,而且是 C++ REST SDK (非同步 HTTP 的可攜式程式庫) 的基礎。
如需詳細資訊,請參閱工作平行處理原則 (並行執行階段)。
繼承階層
task
需求
**標頭:**ppltasks.h
**命名空間:**concurrency