Język

JoinableTaskFactory Klasa

Definicja

Fabryka uruchamiania zadań asynchronicznych, które mogą ograniczyć zakleszczenia, gdy zadania wymagają głównego wątku aplikacji, a wątek Główny może blokować się po zakończeniu zadania.

public ref class JoinableTaskFactory
[Windows::Foundation::Metadata::WebHostHidden]
class JoinableTaskFactory
public class JoinableTaskFactory
type JoinableTaskFactory = class
Public Class JoinableTaskFactory
Dziedziczenie
JoinableTaskFactory
Pochodne

Uwagi

Aby uzyskać więcej pełnych komentarzy, zobacz .JoinableTaskContext

Konstruktory

Nazwa Opis
JoinableTaskFactory(JoinableTaskCollection)

Inicjuje JoinableTaskFactory nowe wystąpienie klasy, które dodaje wszystkie wygenerowane zadania do określonej kolekcji.

JoinableTaskFactory(JoinableTaskContext)

Inicjuje nowe wystąpienie klasy JoinableTaskFactory.

Właściwości

Nazwa Opis
Context

Pobiera kontekst zadania sprzężonego, do którego należy ta fabryka.

HangDetectionTimeout

Pobiera lub ustawia limit czasu, po którym żadne działanie podczas synchronicznego blokowania sugeruje, że wystąpił zawieszenie.

UnderlyingSynchronizationContext

Pobiera element źródłowy SynchronizationContext , który kontroluje główny wątek na hoście.

Metody

Nazwa Opis
Add(JoinableTask)

Dodaje określone zadanie sprzężone do odpowiedniej kolekcji.

DisableProcessing()

Zapobiega uruchamianiu filtrowanych pomp komunikatów podczas synchronicznych oczekiwań otoczenia JoinableTask.

IsWaitingOnLongRunningTask()

Sprawdź, czy bieżący element joinableTask czeka na długotrwałe zadanie.

OnTransitionedToMainThread(JoinableTask, Boolean)

Wywoływane za każdym razem, gdy zadanie możliwe do sprzężenia zakończyło przejście do głównego wątku.

OnTransitioningToMainThread(JoinableTask)

Zgłaszane, gdy zadanie możliwe do sprzężenia zażądało przejścia do głównego wątku.

PostToUnderlyingSynchronizationContext(SendOrPostCallback, Object)

Publikuje komunikat do określonego bazowego elementu SynchronizationContext do przetwarzania, gdy główny wątek jest dostępny bezpłatnie.

Run(Func<Task>, JoinableTaskCreationOptions)

Uruchamia określoną metodę asynchroniczną w celu ukończenia, a synchronicznie blokuje wątek wywołujący.

Run(Func<Task>)

Uruchamia określoną metodę asynchroniczną w celu ukończenia, a synchronicznie blokuje wątek wywołujący.

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

Uruchamia określoną metodę asynchroniczną w celu ukończenia, a synchronicznie blokuje wątek wywołujący.

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

Uruchamia określoną metodę asynchroniczną w celu ukończenia, a synchronicznie blokuje wątek wywołujący.

RunAsync(Func<Task>, JoinableTaskCreationOptions)

Wywołuje delegata asynchronicznego w wątku wywołującego i zwraca element wywołujący, gdy metoda asynchronizatora zwraca wartość . Delegat asynchroniczny jest wywoływany w taki sposób, aby zapobiec zakleszczeniom w przypadku, gdy metoda asynchronikowa wymaga głównego wątku, podczas gdy główny wątek jest zablokowany czekający na ukończenie metody asynchronicznej.

RunAsync(Func<Task>, String, JoinableTaskCreationOptions)

Fabryka uruchamiania zadań asynchronicznych, które mogą ograniczyć zakleszczenia, gdy zadania wymagają głównego wątku aplikacji, a wątek Główny może blokować się po zakończeniu zadania.

RunAsync(Func<Task>)

Wywołuje delegata asynchronicznego w wątku wywołującego i zwraca element wywołujący, gdy metoda asynchronizatora zwraca wartość . Delegat asynchroniczny jest wywoływany w taki sposób, aby zapobiec zakleszczeniom w przypadku, gdy metoda asynchronikowa wymaga głównego wątku, podczas gdy główny wątek jest zablokowany czekający na ukończenie metody asynchronicznej.

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

Wywołuje delegata asynchronicznego w wątku wywołującego i zwraca element wywołujący, gdy metoda asynchronizatora zwraca wartość . Delegat asynchroniczny jest wywoływany w taki sposób, aby zapobiec zakleszczeniom w przypadku, gdy metoda asynchronikowa wymaga głównego wątku, podczas gdy główny wątek jest zablokowany czekający na ukończenie metody asynchronicznej.

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

Fabryka uruchamiania zadań asynchronicznych, które mogą ograniczyć zakleszczenia, gdy zadania wymagają głównego wątku aplikacji, a wątek Główny może blokować się po zakończeniu zadania.

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

Wywołuje delegata asynchronicznego w wątku wywołującego i zwraca element wywołujący, gdy metoda asynchronizatora zwraca wartość . Delegat asynchroniczny jest wywoływany w taki sposób, aby zapobiec zakleszczeniom w przypadku, gdy metoda asynchronikowa wymaga głównego wątku, podczas gdy główny wątek jest zablokowany czekający na ukończenie metody asynchronicznej.

SwitchToMainThreadAsync(Boolean, CancellationToken)

Pobiera oczekiwany element, którego kontynuacje są wykonywane w kontekście synchronizacji, z którym zainicjowano to wystąpienie, w taki sposób, aby ograniczyć zarówno zakleszczenia, jak i ponownego uruchomienia.

SwitchToMainThreadAsync(CancellationToken)

Dostaje oczekiwany, którego kontynuacje są wykonywane w głównym wątku, w taki sposób, aby ograniczyć zarówno zakleszczenia, jak i ponownego uruchamiania.

WaitSynchronously(Task)

Synchronicznie blokuje wątek wywołujący do ukończenia określonego zadania. W przypadku uruchomienia w wątku głównym wszelkie odpowiednie pompy komunikatów są pomijane podczas uśpienia wątku.

WaitSynchronouslyCore(Task)

Synchronicznie blokuje wątek wywołujący do ukończenia określonego zadania.

Metody rozszerzania

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

Blokuje wątek wywoływania (UI) do momentu zakończenia operacji anulowania asynchronicznych. Opcjonalne okno dialogowe oczekiwania można anulować, jeśli operacja trwa zbyt długo.

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

Blokuje wątek wywołujący (UI) do momentu zakończenia operacji asynchronicznych. Opcjonalne okno dialogowe oczekiwania można anulować, jeśli operacja trwa zbyt długo.

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

Blokuje wątek wywołujący (UI) do momentu zakończenia operacji asynchronicznych. Anulowanie jest oferowane użytkownikowi.

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

Blokuje wątek wywołujący (UI) do momentu zakończenia operacji asynchronicznych. Użytkownik nie oferuje anulowania.

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

Blokuje wątek wywoływania (UI) do momentu zakończenia operacji anulowania asynchronicznych. Opcjonalne okno dialogowe oczekiwania można anulować, jeśli operacja trwa zbyt długo.

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

Blokuje wątek wywołujący (UI) do momentu zakończenia operacji asynchronicznych. Opcjonalne okno dialogowe oczekiwania można anulować, jeśli operacja trwa zbyt długo.

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

Blokuje wątek wywołujący (UI) do momentu zakończenia operacji asynchronicznych. Anulowanie jest oferowane użytkownikowi.

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

Blokuje wątek wywołujący (UI) do momentu zakończenia operacji asynchronicznych. Użytkownik nie oferuje anulowania.

RunAsync(JoinableTaskFactory, VsTaskRunContext, Func<Task>)

Opakowuje wywołanie metody asynchronicznej, tak aby mogło zostać wykonane asynchronicznie, ale może być potencjalnie synchronicznie ukończone (czekane) w przyszłości.

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

Opakowuje wywołanie metody asynchronicznej, tak aby mogło zostać wykonane asynchronicznie, ale może być potencjalnie synchronicznie ukończone (czekane) w przyszłości.

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

Tworzy element IVsTask w celu śledzenia operacji async z możliwością anulowania.

StartOnIdle(JoinableTaskFactory, Action, VsTaskRunContext)

Planuje delegata do wykonywania w tle w wątku interfejsu użytkownika bez dziedziczenia oświadczeń do wątku interfejsu użytkownika z jego obiektu wywołującego.

StartOnIdle(JoinableTaskFactory, Func<Task>, VsTaskRunContext)

Planuje delegata do wykonywania w tle w wątku interfejsu użytkownika bez dziedziczenia oświadczeń do wątku interfejsu użytkownika z jego obiektu wywołującego.

WithPriority(JoinableTaskFactory, Dispatcher, DispatcherPriority)

Tworzy obiekt, który JoinableTaskFactory planuje pracę z określonymi Dispatcher elementami i DispatcherPriority.

WithPriority(JoinableTaskFactory, VsTaskRunContext)

Tworzy obiekt, który JoinableTaskFactory planuje pracę z określonym priorytetem wątku interfejsu użytkownika Visual Studio.

Dotyczy

Bezpieczeństwo wątkowe

Ten typ jest bezpieczny wątkowo dla wszystkich elementów członkowskich.