task 類別

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

警告

此主題包含 C++ REST SDK 1.0 (代號名稱 "Casablanca") 的相關資訊。如果您是使用 Codeplex Casablanca 網頁 提供的較新版本,則請使用位於 http://casablanca.codeplex.com/documentation 的本機說明文件。

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

參數

  • _Type

  • T

  • _ReturnType
    此工作的結果類型。

Members

公用 Typedefs

名稱

描述

result_type

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

公用建構函式

名稱

描述

task::task 建構函式 (C++ REST SDK)

多載。 建構 task 物件。

公用方法

名稱

描述

task::get 方法 (C++ REST SDK)

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

task::is_apartment_aware 方法 (C++ REST SDK)

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

task::is_done 方法

判定工作是否完成。

task::scheduler 方法

傳回此工作的排程器

task::then 方法 (C++ REST SDK)

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

task::wait 方法 (C++ REST SDK)

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

公用運算子

名稱

描述

task::operator!= 運算子 (C++ REST SDK)

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

task::operator= 運算子 (C++ REST SDK)

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

task::operator== 運算子 (C++ REST SDK)

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

備註

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

需求

**標頭:**pplxtasks.h

**命名空間:**pplx

請參閱

參考

pplx 命名空間