task_continuation_context – třída

Třída task_continuation_context umožňuje určit, kde se má pokračování provést. Tato třída je užitečná jenom z aplikace prostředí Windows Runtime. U aplikací, které nejsou prostředí Windows Runtime, je kontext spuštění úlohy určen modulem runtime a nelze ho konfigurovat.

Syntaxe

class task_continuation_context : public details::_ContextCallback;

Členové

Veřejné metody

Jméno popis
get_current_winrt_context Vrátí kontextový objekt pokračování úkolu, který představuje aktuální kontext vlákna winrt.
use_arbitrary Vytvoří kontext pokračování úlohy, který modulu runtime umožňuje zvolit kontext spuštění pro pokračování.
use_current Vrátí kontextový objekt pokračování úkolu, který představuje aktuální kontext spuštění.
use_default Vytvoří výchozí kontext pokračování úkolu.
use_synchronous_execution Vrátí objekt kontextu pokračování úkolu, který představuje synchronní kontext spuštění.

Hierarchie dědičnosti

_ContextCallback

task_continuation_context

Požadavky

Hlavička: ppltasks.h

Obor názvů: souběžnost

get_current_winrt_context

Vrátí objekt kontextu pokračování úkolu, který představuje aktuální kontext vlákna WinRT.

Syntaxe

static task_continuation_context get_current_winrt_context();

Vrácená hodnota

Aktuální kontext vlákna prostředí Windows Runtime. Vrátí prázdnou task_continuation_context, pokud je volána z kontextu, který není prostředí Windows Runtime.

Poznámky

Metoda get_current_winrt_context zachycuje kontext vlákna volajícího prostředí Windows Runtime. Vrátí prázdný kontext volajícím, kteří nejsou prostředí Windows Runtime.

Hodnotu vrácenou modulem get_current_winrt_context runtime lze použít k označení, že pokračování by se mělo provést v modelu bytu zachyceného kontextu (STA vs. MTA), bez ohledu na to, zda je úloha s ohledem na architekturu bytu vědoma. Úkol pracující s apartmány je úkol, který rozbalí prostředí Windows Runtime IAsyncInfo rozhraní, nebo úkol sestupný z takového úkolu.

Tato metoda je podobná use_current metodě, ale je také k dispozici nativnímu kódu C++ bez podpory rozšíření C++/CX. Je určená pro pokročilé uživatele, kteří zapisují kód knihovny nezávislé na C++/CX pro nativní i prostředí Windows Runtime volající. Pokud tuto funkci nepotřebujete, doporučujeme metodu use_current , která je k dispozici pouze pro klienty C++/CX.

use_arbitrary

Vytvoří kontext pokračování úlohy, který modulu runtime umožňuje zvolit kontext spuštění pro pokračování.

Syntaxe

static task_continuation_context use_arbitrary();

Vrácená hodnota

Kontext pokračování úkolu, který představuje libovolné umístění.

Poznámky

Pokud se tento kontext pokračování použije, pokračování se spustí v kontextu, který modul runtime zvolí i v případě, že úloha typu antecedent je vědoma bytu.

use_arbitrary lze použít k vypnutí výchozího chování pro pokračování úkolu pracujícího s apartmánem vytvořeným ve sta.

Tato metoda je dostupná pouze pro prostředí Windows Runtime aplikace.

use_current

Vrátí kontextový objekt pokračování úkolu, který představuje aktuální kontext spuštění.

static task_continuation_context use_current();

Vrácená hodnota

Aktuální kontext spuštění.

Poznámky

Tato metoda zachycuje kontext volajícího prostředí Windows Runtime, aby bylo možné pokračovat v pravém bytě.

Hodnotu vrácenou modulem use_current runtime lze použít k označení, že pokračování by se mělo provést v zachyceném kontextu (STA vs MTA) bez ohledu na to, zda je nebo není úloha s ohledem na objekt apartment aware. Úkol pracující s apartmány je úkol, který rozbalí prostředí Windows Runtime IAsyncInfo rozhraní, nebo úkol sestupný z takového úkolu.

Tato metoda je dostupná pouze pro prostředí Windows Runtime aplikace.

use_default

Vytvoří výchozí kontext pokračování úkolu.

static task_continuation_context use_default();

Vrácená hodnota

Výchozí kontext pokračování.

Poznámky

Výchozí kontext se použije, pokud při volání then metody nezadáte kontext pokračování. V aplikacích pro Windows pro Windows 7 a novějších i desktopových aplikacích ve Windows 8 a novějších určuje modul runtime, kde se budou spouštět pokračování úloh. V aplikaci prostředí Windows Runtime ale výchozí kontext pokračování pro pokračování úkolu s informacemi o apartmánu je byt, ve kterém then je vyvolán.

Úkol pracující s apartmány je úkol, který rozbalí prostředí Windows Runtime IAsyncInfo rozhraní, nebo úkol sestupný z takového úkolu. Proto pokud plánujete pokračování na úkolu s vědomím bytu v prostředí Windows Runtime STA, pokračování se provede v tomto STA.

Pokračování úlohy bez apartmánu se provede v kontextu, který modul runtime zvolí.

task_continuation_context::use_synchronous_execution

Vrátí objekt kontextu pokračování úkolu, který představuje synchronní kontext spuštění.

Syntaxe

static task_continuation_context use_synchronous_execution();

Vrácená hodnota

Synchronní kontext spuštění.

Poznámky

Metoda use_synchronous_execution vynutí, aby úloha pokračování běžela synchronně v kontextu, což způsobuje dokončení úlohy s tecedent.

Pokud již dokončena úloha tecedent po připojení pokračování, pokračování se spustí synchronně v kontextu, který připojí pokračování.

Viz také

concurrency – obor názvů