Udostępnij za pośrednictwem


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

Zobacz też

Informacje

task — Klasa