Jazyk

JoinableTaskFactory Třída

Definice

Továrna pro spouštění asynchronních úloh, které mohou zmírnit zablokování, když úlohy vyžadují hlavní vlákno aplikace a hlavní vlákno může být blokující při dokončení úlohy.

public ref class JoinableTaskFactory
[Windows::Foundation::Metadata::WebHostHidden]
class JoinableTaskFactory
public class JoinableTaskFactory
type JoinableTaskFactory = class
Public Class JoinableTaskFactory
Dědičnost
JoinableTaskFactory
Odvozené

Poznámky

Další úplné komentáře najdete na stránce JoinableTaskContext.

Konstruktory

Name Description
JoinableTaskFactory(JoinableTaskCollection)

Inicializuje novou instanci JoinableTaskFactory třídy, která přidá všechny generované úlohy do zadané kolekce.

JoinableTaskFactory(JoinableTaskContext)

Inicializuje novou instanci JoinableTaskFactory třídy.

Vlastnosti

Name Description
Context

Získá spojitelný kontext úkolu, do kterého tato továrna patří.

HangDetectionTimeout

Získá nebo nastaví časový limit, po kterém žádná aktivita, zatímco synchronně blokující naznačuje, že došlo k zablokování.

UnderlyingSynchronizationContext

Získá podklad SynchronizationContext , který řídí hlavní vlákno v hostiteli.

Metody

Name Description
Add(JoinableTask)

Přidá zadanou spojitelnou úlohu do příslušné kolekce.

DisableProcessing()

Zabraňuje spuštění filtrovaných zpráv čerpadel během synchronních čekání na okolí JoinableTask.

IsWaitingOnLongRunningTask()

Zkontrolujte, jestli aktuální joinableTask čeká na dlouho běžící úlohu.

OnTransitionedToMainThread(JoinableTask, Boolean)

Vyvolá se vždy, když spojitelná úloha dokončila přechod na hlavní vlákno.

OnTransitioningToMainThread(JoinableTask)

Vyvolá se, když spojitelná úloha požádala o přechod na hlavní vlákno.

PostToUnderlyingSynchronizationContext(SendOrPostCallback, Object)

Publikuje zprávu do zadané základní synchronizačníContext ke zpracování, pokud je hlavní vlákno volně dostupné.

Run(Func<Task>, JoinableTaskCreationOptions)

Spustí zadanou asynchronní metodu k dokončení, zatímco synchronně blokuje volající vlákno.

Run(Func<Task>)

Spustí zadanou asynchronní metodu k dokončení, zatímco synchronně blokuje volající vlákno.

Run<T>(Func<Task<T>>, JoinableTaskCreationOptions)

Spustí zadanou asynchronní metodu k dokončení, zatímco synchronně blokuje volající vlákno.

Run<T>(Func<Task<T>>)

Spustí zadanou asynchronní metodu k dokončení, zatímco synchronně blokuje volající vlákno.

RunAsync(Func<Task>, JoinableTaskCreationOptions)

Vyvolá asynchronního delegáta ve vlákně volajícího a vrátí se zpět volajícímu při výnosu asynchronní metody. Asynchronní delegát je vyvolán takovým způsobem, jak zmírnit zablokování v případě, že asynchronní metoda vyžaduje hlavní vlákno, zatímco hlavní vlákno je blokováno čekání na dokončení asynchronní metody.

RunAsync(Func<Task>, String, JoinableTaskCreationOptions)

Továrna pro spouštění asynchronních úloh, které mohou zmírnit zablokování, když úlohy vyžadují hlavní vlákno aplikace a hlavní vlákno může být blokující při dokončení úlohy.

RunAsync(Func<Task>)

Vyvolá asynchronního delegáta ve vlákně volajícího a vrátí se zpět volajícímu při výnosu asynchronní metody. Asynchronní delegát je vyvolán takovým způsobem, jak zmírnit zablokování v případě, že asynchronní metoda vyžaduje hlavní vlákno, zatímco hlavní vlákno je blokováno čekání na dokončení asynchronní metody.

RunAsync<T>(Func<Task<T>>, JoinableTaskCreationOptions)

Vyvolá asynchronního delegáta ve vlákně volajícího a vrátí se zpět volajícímu při výnosu asynchronní metody. Asynchronní delegát je vyvolán takovým způsobem, jak zmírnit zablokování v případě, že asynchronní metoda vyžaduje hlavní vlákno, zatímco hlavní vlákno je blokováno čekání na dokončení asynchronní metody.

RunAsync<T>(Func<Task<T>>, String, JoinableTaskCreationOptions)

Továrna pro spouštění asynchronních úloh, které mohou zmírnit zablokování, když úlohy vyžadují hlavní vlákno aplikace a hlavní vlákno může být blokující při dokončení úlohy.

RunAsync<T>(Func<Task<T>>)

Vyvolá asynchronního delegáta ve vlákně volajícího a vrátí se zpět volajícímu při výnosu asynchronní metody. Asynchronní delegát je vyvolán takovým způsobem, jak zmírnit zablokování v případě, že asynchronní metoda vyžaduje hlavní vlákno, zatímco hlavní vlákno je blokováno čekání na dokončení asynchronní metody.

SwitchToMainThreadAsync(Boolean, CancellationToken)

Získá awaitable, jehož pokračování se provádí v kontextu synchronizace, se kterým byla tato instance inicializována, takovým způsobem, jak zmírnit vzájemné zablokování a znovu zadat architekturu.

SwitchToMainThreadAsync(CancellationToken)

Získá očekávané, jehož pokračování se spouští v hlavním vlákně, takovým způsobem, jak zmírnit vzájemné zablokování a znovu zadat.

WaitSynchronously(Task)

Synchronně blokuje volající vlákno pro dokončení zadané úlohy. Pokud běží na hlavním vlákně, je při režimu spánku vlákna potlačena všechna příslušná čerpadla zpráv.

WaitSynchronouslyCore(Task)

Synchronně blokuje volající vlákno pro dokončení zadané úlohy.

Metody rozšíření

Name Description
Run(JoinableTaskFactory, String, Func<IProgress<ThreadedWaitDialogProgressData>,CancellationToken,Task>, Nullable<TimeSpan>)

Blokuje volající vlákno (UI), dokud se nezruší asynchronní operace. Volitelně se zobrazí dialogové okno čekání s možností zrušení, pokud operace trvá příliš dlouho.

Run(JoinableTaskFactory, String, Func<IProgress<ThreadedWaitDialogProgressData>,Task>, Nullable<TimeSpan>)

Blokuje volající vlákno (UI), dokud se asynchronní operace nedokončuje. Volitelně se zobrazí dialogové okno čekání s možností zrušení, pokud operace trvá příliš dlouho.

Run(JoinableTaskFactory, String, String, Func<IProgress<ThreadedWaitDialogProgressData>,CancellationToken,Task>, Nullable<TimeSpan>)

Blokuje volající vlákno (UI), dokud se asynchronní operace nedokončuje. Uživateli se nabízí zrušení.

Run(JoinableTaskFactory, String, String, Func<IProgress<ThreadedWaitDialogProgressData>,Task>, Nullable<TimeSpan>)

Blokuje volající vlákno (UI), dokud se asynchronní operace nedokončuje. Uživateli se nenabízí žádné zrušení.

Run<T>(JoinableTaskFactory, String, Func<IProgress<ThreadedWaitDialogProgressData>,CancellationToken,Task<T>>, Nullable<TimeSpan>)

Blokuje volající vlákno (UI), dokud se nezruší asynchronní operace. Volitelně se zobrazí dialogové okno čekání s možností zrušení, pokud operace trvá příliš dlouho.

Run<T>(JoinableTaskFactory, String, Func<IProgress<ThreadedWaitDialogProgressData>,Task<T>>, Nullable<TimeSpan>)

Blokuje volající vlákno (UI), dokud se asynchronní operace nedokončuje. Volitelně se zobrazí dialogové okno čekání s možností zrušení, pokud operace trvá příliš dlouho.

Run<T>(JoinableTaskFactory, String, String, Func<IProgress<ThreadedWaitDialogProgressData>,CancellationToken,Task<T>>, Nullable<TimeSpan>)

Blokuje volající vlákno (UI), dokud se asynchronní operace nedokončuje. Uživateli se nabízí zrušení.

Run<T>(JoinableTaskFactory, String, String, Func<IProgress<ThreadedWaitDialogProgressData>,Task<T>>, Nullable<TimeSpan>)

Blokuje volající vlákno (UI), dokud se asynchronní operace nedokončuje. Uživateli se nenabízí žádné zrušení.

RunAsync(JoinableTaskFactory, VsTaskRunContext, Func<Task>)

Zabalí vyvolání asynchronní metody tak, aby mohla být spuštěna asynchronně, ale v budoucnu může být synchronně dokončena (čekat na).

RunAsync<T>(JoinableTaskFactory, VsTaskRunContext, Func<Task<T>>)

Zabalí vyvolání asynchronní metody tak, aby mohla být spuštěna asynchronně, ale v budoucnu může být synchronně dokončena (čekat na).

RunAsyncAsVsTask<T>(JoinableTaskFactory, VsTaskRunContext, Func<CancellationToken,Task<T>>)

Vytvoří IVsTask pro sledování zrušitelné asynchronní operace.

StartOnIdle(JoinableTaskFactory, Action, VsTaskRunContext)

Naplánuje delegáta pro provádění na pozadí ve vlákně uživatelského rozhraní bez dědění jakékoli deklarace identity vlákna uživatelského rozhraní z volajícího.

StartOnIdle(JoinableTaskFactory, Func<Task>, VsTaskRunContext)

Naplánuje delegáta pro provádění na pozadí ve vlákně uživatelského rozhraní bez dědění jakékoli deklarace identity vlákna uživatelského rozhraní z volajícího.

WithPriority(JoinableTaskFactory, Dispatcher, DispatcherPriority)

Vytvoří plán JoinableTaskFactory , který bude fungovat se zadaným Dispatcher a DispatcherPriority.

WithPriority(JoinableTaskFactory, VsTaskRunContext)

Vytvoří JoinableTaskFactory plán, který bude fungovat se zadanou prioritou vlákna uživatelského rozhraní Visual Studio.

Platí pro

Bezpečný přístup z více vláken

Tento typ je bezpečný pro všechny členy.