task::task — Konstruktor (C++ REST SDK)
Buduje task obiektu.
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
);
Parametry
_Ty
Typ parametru, na podstawie którego ma zostać skonstruowane zadanie._Param
Parametr, na podstawie którego ma zostać skonstruowane zadanie.Może to być wyrażenie lambda, obiekt funkcji, obiekt task_completion_event<result_type> lub interfejs Windows::Foundation::IAsyncInfo, jeśli używasz zadań w swojej aplikacji dla Sklepu Windows.Obiekt wyrażenia lambda lub funkcji powinien być typem równoważnym z std::function<X(void)>, gdzie X może być zmienną typu result_type, task<result_type> lub interfejsem Windows::Foundation::IAsyncInfo w aplikacjach ze Sklepu Windows._TaskOptions
Opcje zadania obejmują token anulowania, harmonogram itp._Other
Źródło obiektu task.
Uwagi
Konstruktor domyślny dla obiektu task jest obecny tylko w celu umożliwienia używania zadań w kontenerach.Zadanie domyślne można stosować dopiero po przypisaniu do niego prawidłowego zadania.Metody takie jak get, wait lub then bdą rzucać invalid_argument wyjątek przy wywołaniu nad zadaniem wbudowanym domyślnie.
Zadanie, które jest tworzone z task_completion_event zostanie ukończone (a jego kontynuacje zostaną zaplanowane) po ustawieniu zdarzenia zakończenia zadania.
Wersja konstruktora, która otrzymuje token anulowania, tworzy zadanie, które można anulować przy użyciu otrzymanego tokenu cancellation_token_source.Zadań utworzonych bez tokenu anulowania nie można anulować.
Zadania utworzone z interfejsu Windows::Foundation::IAsyncInfo lub wyrażenia lambda, które zwraca interfejs IAsyncInfo, osiągają swój stan końcowy wraz z ukończeniem operacji asynchronicznej lub akcji środowiska wykonawczego systemu Windows.Podobnie, zadania utworzone z wyrażenia lambda, które zwraca obiekt task<result_type>, osiągają swój stan końcowy, gdy zadanie wewnętrzne osiągnie swój stan końcowy, a nie gdy wyrażenie lambda zwraca wartość.
Obiekt task zachowuje się jak inteligentny wskaźnik i można bezpiecznie przekazywać go przez wartość.Dostęp do niego ma wiele wątków, bez potrzeby blokad.
Przeciążenia konstruktora używające interfejsu Windows::Foundation::IAsyncInfo lub wyrażenia lambda, które zwraca ten interfejs, są dostępne tylko dla aplikacji ze Sklepu Windows.
Aby uzyskać więcej informacji, zobacz Równoległość zadania (współbieżność środowiska wykonawczego).
Wymagania
Nagłówek: pplxtasks.h
Przestrzeń nazw: pplx