JoinableTaskFactory Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.