Lingua

JoinableTaskFactory Classe

Definizione

Factory per l'avvio di attività asincrone che possono ridurre i deadlock quando le attività richiedono il thread principale di un'applicazione e il thread principale potrebbe bloccarsi al completamento di un'attività.

public ref class JoinableTaskFactory
[Windows::Foundation::Metadata::WebHostHidden]
class JoinableTaskFactory
public class JoinableTaskFactory
type JoinableTaskFactory = class
Public Class JoinableTaskFactory
Ereditarietà
JoinableTaskFactory
Derivato

Commenti

Per altri commenti completi, vedere .JoinableTaskContext

Costruttori

Nome Descrizione
JoinableTaskFactory(JoinableTaskCollection)

Inizializza una nuova istanza della JoinableTaskFactory classe che aggiunge tutti i processi generati alla raccolta specificata.

JoinableTaskFactory(JoinableTaskContext)

Inizializza una nuova istanza della classe JoinableTaskFactory.

Proprietà

Nome Descrizione
Context

Ottiene il contesto dell'attività joinable a cui appartiene questa factory.

HangDetectionTimeout

Ottiene o imposta il timeout dopo il quale nessuna attività durante il blocco sincrono suggerisce che si è verificato un blocco.

UnderlyingSynchronizationContext

Ottiene l'oggetto sottostante SynchronizationContext che controlla il thread principale nell'host.

Metodi

Nome Descrizione
Add(JoinableTask)

Aggiunge l'attività joinable specificata alla raccolta applicabile.

DisableProcessing()

Impedisce l'esecuzione delle pompe di messaggi filtrate durante le attese sincrone per l'ambiente JoinableTask.

IsWaitingOnLongRunningTask()

Controllare se l'oggetto joinableTask corrente è in attesa di un'attività a esecuzione prolungata.

OnTransitionedToMainThread(JoinableTask, Boolean)

Generato ogni volta che un'attività joinable ha completato una transizione al thread principale.

OnTransitioningToMainThread(JoinableTask)

Generato quando un'attività joinable ha richiesto una transizione al thread principale.

PostToUnderlyingSynchronizationContext(SendOrPostCallback, Object)

Invia un messaggio all'oggetto SynchronizationContext sottostante specificato per l'elaborazione quando il thread principale è disponibile gratuitamente.

Run(Func<Task>, JoinableTaskCreationOptions)

Esegue il metodo asincrono specificato fino al completamento durante il blocco sincrono del thread chiamante.

Run(Func<Task>)

Esegue il metodo asincrono specificato fino al completamento durante il blocco sincrono del thread chiamante.

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

Esegue il metodo asincrono specificato fino al completamento durante il blocco sincrono del thread chiamante.

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

Esegue il metodo asincrono specificato fino al completamento durante il blocco sincrono del thread chiamante.

RunAsync(Func<Task>, JoinableTaskCreationOptions)

Richiama un delegato asincrono sul thread del chiamante e restituisce al chiamante quando il metodo asincrono restituisce. Il delegato asincrono viene richiamato in modo da attenuare i deadlock nel caso in cui il metodo asincrono richieda il thread principale mentre il thread principale è bloccato in attesa del completamento del metodo asincrono.

RunAsync(Func<Task>, String, JoinableTaskCreationOptions)

Factory per l'avvio di attività asincrone che possono ridurre i deadlock quando le attività richiedono il thread principale di un'applicazione e il thread principale potrebbe bloccarsi al completamento di un'attività.

RunAsync(Func<Task>)

Richiama un delegato asincrono sul thread del chiamante e restituisce al chiamante quando il metodo asincrono restituisce. Il delegato asincrono viene richiamato in modo da attenuare i deadlock nel caso in cui il metodo asincrono richieda il thread principale mentre il thread principale è bloccato in attesa del completamento del metodo asincrono.

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

Richiama un delegato asincrono sul thread del chiamante e restituisce al chiamante quando il metodo asincrono restituisce. Il delegato asincrono viene richiamato in modo da attenuare i deadlock nel caso in cui il metodo asincrono richieda il thread principale mentre il thread principale è bloccato in attesa del completamento del metodo asincrono.

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

Factory per l'avvio di attività asincrone che possono ridurre i deadlock quando le attività richiedono il thread principale di un'applicazione e il thread principale potrebbe bloccarsi al completamento di un'attività.

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

Richiama un delegato asincrono sul thread del chiamante e restituisce al chiamante quando il metodo asincrono restituisce. Il delegato asincrono viene richiamato in modo da attenuare i deadlock nel caso in cui il metodo asincrono richieda il thread principale mentre il thread principale è bloccato in attesa del completamento del metodo asincrono.

SwitchToMainThreadAsync(Boolean, CancellationToken)

Ottiene un oggetto awaitable le cui continuazioni vengono eseguite nel contesto di sincronizzazione con cui è stata inizializzata questa istanza, in modo da attenuare sia i deadlock che la reentrancy.

SwitchToMainThreadAsync(CancellationToken)

Ottiene un oggetto awaitable le cui continuazioni vengono eseguite sul thread principale, in modo da attenuare sia i deadlock che la reentrancy.

WaitSynchronously(Task)

Blocca in modo sincrono il thread chiamante per il completamento dell'attività specificata. Se è in esecuzione nel thread principale, qualsiasi pompa di messaggi applicabile viene eliminata durante la sospensione del thread.

WaitSynchronouslyCore(Task)

Blocca in modo sincrono il thread chiamante per il completamento dell'attività specificata.

Metodi di estensione

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

Blocca il thread chiamante (UI) fino al completamento di un'operazione asincrona annullabile. Se l'operazione richiede troppo tempo, viene visualizzata una finestra di dialogo di attesa facoltativamente annullabile.

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

Blocca il thread chiamante (UI) fino al completamento di un'operazione asincrona. Se l'operazione richiede troppo tempo, viene visualizzata una finestra di dialogo di attesa facoltativamente annullabile.

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

Blocca il thread chiamante (UI) fino al completamento di un'operazione asincrona. L'annullamento viene offerto all'utente.

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

Blocca il thread chiamante (UI) fino al completamento di un'operazione asincrona. Nessun annullamento viene offerto all'utente.

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

Blocca il thread chiamante (UI) fino al completamento di un'operazione asincrona annullabile. Se l'operazione richiede troppo tempo, viene visualizzata una finestra di dialogo di attesa facoltativamente annullabile.

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

Blocca il thread chiamante (UI) fino al completamento di un'operazione asincrona. Se l'operazione richiede troppo tempo, viene visualizzata una finestra di dialogo di attesa facoltativamente annullabile.

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

Blocca il thread chiamante (UI) fino al completamento di un'operazione asincrona. L'annullamento viene offerto all'utente.

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

Blocca il thread chiamante (UI) fino al completamento di un'operazione asincrona. Nessun annullamento viene offerto all'utente.

RunAsync(JoinableTaskFactory, VsTaskRunContext, Func<Task>)

Esegue il wrapping della chiamata di un metodo asincrono in modo che possa essere eseguito in modo asincrono, ma potrebbe essere potenzialmente completato in modo sincrono (in attesa) in futuro.

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

Esegue il wrapping della chiamata di un metodo asincrono in modo che possa essere eseguito in modo asincrono, ma potrebbe essere potenzialmente completato in modo sincrono (in attesa) in futuro.

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

Crea un IVsTask per tenere traccia di un'operazione asincrona annullabile.

StartOnIdle(JoinableTaskFactory, Action, VsTaskRunContext)

Pianifica un delegato per l'esecuzione in background nel thread dell'interfaccia utente senza ereditare alcuna attestazione al thread dell'interfaccia utente dal chiamante.

StartOnIdle(JoinableTaskFactory, Func<Task>, VsTaskRunContext)

Pianifica un delegato per l'esecuzione in background nel thread dell'interfaccia utente senza ereditare alcuna attestazione al thread dell'interfaccia utente dal chiamante.

WithPriority(JoinableTaskFactory, Dispatcher, DispatcherPriority)

Crea un oggetto JoinableTaskFactory che pianifica il lavoro con l'oggetto e DispatcherPriorityspecificatoDispatcher.

WithPriority(JoinableTaskFactory, VsTaskRunContext)

Crea un oggetto JoinableTaskFactory che pianifica il lavoro con la priorità del thread dell'interfaccia utente specificata Visual Studio.

Si applica a

Thread safety

Questo tipo è thread-safe per tutti i membri.