task::task 建構函式 (C++ REST SDK)
建構 task 物件。
task();
template<
typename _Ty
>
__declspec(
noinline
) explicit task(_Ty _Param);
template<
typename _Ty
>
__declspec(
noinline
) explicit task(_Ty _Param, const task_options& _TaskOptions);
task(
const task& _Other
);
task(
task&& _Other
);
參數
_Ty
從中要建構工作的參數的類型。_Param
從中要建構工作的參數。 如果您在 Windows 市集應用程式中使用工作,則此參數可以是 Lambda、函式物件、task_completion_event<result_type> 物件或 Windows::Foundation::IAsyncInfo。 Lambda 或函式物件應該是相當於 std::function<X(void)> 的類型,其中 X 可以是類型 result_type、task<result_type> 或 Windows 市集應用程式中 Windows::Foundation::IAsyncInfo 的變數。_TaskOptions
工作選項包括取消語彙基元、排程器等等_Other
來源 task 物件。
備註
出現 task 的預設建構函式,只是為了讓工作在容器內使用。 只有在指派有效的工作給預設建構的工作之後,您才能使用它。 在預設建構的工作上呼叫 get、wait 或 then 等方法時,這類方法會擲回 invalid_argument 例外狀況。
從 task_completion_event 建立的工作,會在設定工作完成事件後完成 (並排定其接續作業)。
接受取消語彙基元的建構函式版本,會建立可以透過使用 cancellation_token_source (語彙基元取得來源) 取消的工作。 在沒有取消語彙基元的情況下建立的工作,無法取消。
從 Windows::Foundation::IAsyncInfo 介面或從傳回 IAsyncInfo 介面的 Lambda 建立的工作,當內含的 Windows 執行階段非同步作業或動作完成時,該工作會到達其終止狀態。 同樣地,從傳回 task<result_type> 的 Lambda 建立的工作,會在內部工作到達終止狀態時,而不是在 Lambda 傳回時,到達其終止狀態。
task 的行為就像智慧型指標,可透過傳值方式安全傳遞。 它可以由多個執行緒存取,而不需要鎖定。
接受 Windows::Foundation::IAsyncInfo 介面或傳回這類介面之 Lambda 的建構函式多載,只供 Windows 市集應用程式使用。
如需詳細資訊,請參閱工作平行處理原則 (並行執行階段)。
需求
**標頭:**pplxtasks.h
**命名空間:**pplx