Linguagem

JoinableTaskFactory Classe

Definição

Uma fábrica para iniciar tarefas assíncronas que podem atenuar deadlocks quando as tarefas exigem o thread Principal de um aplicativo e o thread Principal pode estar bloqueando a conclusão de uma tarefa.

public ref class JoinableTaskFactory
[Windows::Foundation::Metadata::WebHostHidden]
class JoinableTaskFactory
public class JoinableTaskFactory
type JoinableTaskFactory = class
Public Class JoinableTaskFactory
Herança
JoinableTaskFactory
Derivado

Comentários

Para obter mais comentários completos, consulte o JoinableTaskContext.

Construtores

Nome Description
JoinableTaskFactory(JoinableTaskCollection)

Inicializa uma nova instância da JoinableTaskFactory classe que adiciona todos os trabalhos gerados à coleção especificada.

JoinableTaskFactory(JoinableTaskContext)

Inicializa uma nova instância da classe JoinableTaskFactory.

Propriedades

Nome Description
Context

Obtém o contexto de tarefa ingressável ao qual esta fábrica pertence.

HangDetectionTimeout

Obtém ou define o tempo limite após o qual nenhuma atividade durante o bloqueio síncrono sugere que ocorreu um travamento.

UnderlyingSynchronizationContext

Obtém o subjacente SynchronizationContext que controla o thread principal no host.

Métodos

Nome Description
Add(JoinableTask)

Adiciona a tarefa juncionável especificada à coleção aplicável.

DisableProcessing()

Impede que as bombas de mensagem filtradas sejam executadas durante esperas síncronas para o ambiente JoinableTask.

IsWaitingOnLongRunningTask()

Verifique se o joinableTask atual está aguardando uma tarefa de execução prolongada.

OnTransitionedToMainThread(JoinableTask, Boolean)

Gerado sempre que uma tarefa ingressável tiver concluído uma transição para o thread principal.

OnTransitioningToMainThread(JoinableTask)

Gerado quando uma tarefa ingressável solicita uma transição para o thread principal.

PostToUnderlyingSynchronizationContext(SendOrPostCallback, Object)

Posta uma mensagem no SynchronizationContext subjacente especificado para processamento quando o thread principal está disponível livremente.

Run(Func<Task>, JoinableTaskCreationOptions)

Executa o método assíncrono especificado para conclusão enquanto bloqueia síncronamente o thread de chamada.

Run(Func<Task>)

Executa o método assíncrono especificado para conclusão enquanto bloqueia síncronamente o thread de chamada.

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

Executa o método assíncrono especificado para conclusão enquanto bloqueia síncronamente o thread de chamada.

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

Executa o método assíncrono especificado para conclusão enquanto bloqueia síncronamente o thread de chamada.

RunAsync(Func<Task>, JoinableTaskCreationOptions)

Invoca um delegado assíncrono no thread do chamador e retorna ao chamador quando o método assíncrono é rendimento. O delegado assíncrono é invocado de modo a atenuar deadlocks caso o método assíncrono exija o thread principal enquanto o thread principal é bloqueado aguardando a conclusão do método assíncrono.

RunAsync(Func<Task>, String, JoinableTaskCreationOptions)

Uma fábrica para iniciar tarefas assíncronas que podem atenuar deadlocks quando as tarefas exigem o thread Principal de um aplicativo e o thread Principal pode estar bloqueando a conclusão de uma tarefa.

RunAsync(Func<Task>)

Invoca um delegado assíncrono no thread do chamador e retorna ao chamador quando o método assíncrono é rendimento. O delegado assíncrono é invocado de modo a atenuar deadlocks caso o método assíncrono exija o thread principal enquanto o thread principal é bloqueado aguardando a conclusão do método assíncrono.

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

Invoca um delegado assíncrono no thread do chamador e retorna ao chamador quando o método assíncrono é rendimento. O delegado assíncrono é invocado de modo a atenuar deadlocks caso o método assíncrono exija o thread principal enquanto o thread principal é bloqueado aguardando a conclusão do método assíncrono.

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

Uma fábrica para iniciar tarefas assíncronas que podem atenuar deadlocks quando as tarefas exigem o thread Principal de um aplicativo e o thread Principal pode estar bloqueando a conclusão de uma tarefa.

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

Invoca um delegado assíncrono no thread do chamador e retorna ao chamador quando o método assíncrono é rendimento. O delegado assíncrono é invocado de modo a atenuar deadlocks caso o método assíncrono exija o thread principal enquanto o thread principal é bloqueado aguardando a conclusão do método assíncrono.

SwitchToMainThreadAsync(Boolean, CancellationToken)

Obtém um awaitable cujas continuações são executadas no contexto de sincronização com o qual essa instância foi inicializada, de modo a atenuar os deadlocks e a reentração.

SwitchToMainThreadAsync(CancellationToken)

Obtém um awaitable cujas continuações são executadas no thread principal, de modo a atenuar deadlocks e reentração.

WaitSynchronously(Task)

Bloqueia de forma síncrona o thread de chamada para a conclusão da tarefa especificada. Se estiver em execução no thread principal, qualquer bomba de mensagem aplicável será suprimida enquanto o thread estiver inativo.

WaitSynchronouslyCore(Task)

Bloqueia de forma síncrona o thread de chamada para a conclusão da tarefa especificada.

Métodos de Extensão

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

Bloqueia o thread de chamada (interface do usuário) até que uma operação assíncrona cancelável seja concluída. Uma caixa de diálogo de espera opcionalmente cancelável será exibida se a operação demorar muito.

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

Bloqueia o thread de chamada (interface do usuário) até que uma operação assíncrona seja concluída. Uma caixa de diálogo de espera opcionalmente cancelável será exibida se a operação demorar muito.

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

Bloqueia o thread de chamada (interface do usuário) até que uma operação assíncrona seja concluída. O cancelamento é oferecido ao usuário.

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

Bloqueia o thread de chamada (interface do usuário) até que uma operação assíncrona seja concluída. Nenhum cancelamento é oferecido ao usuário.

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

Bloqueia o thread de chamada (interface do usuário) até que uma operação assíncrona cancelável seja concluída. Uma caixa de diálogo de espera opcionalmente cancelável será exibida se a operação demorar muito.

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

Bloqueia o thread de chamada (interface do usuário) até que uma operação assíncrona seja concluída. Uma caixa de diálogo de espera opcionalmente cancelável será exibida se a operação demorar muito.

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

Bloqueia o thread de chamada (interface do usuário) até que uma operação assíncrona seja concluída. O cancelamento é oferecido ao usuário.

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

Bloqueia o thread de chamada (interface do usuário) até que uma operação assíncrona seja concluída. Nenhum cancelamento é oferecido ao usuário.

RunAsync(JoinableTaskFactory, VsTaskRunContext, Func<Task>)

Encapsula a invocação de um método assíncrono de modo que ele possa ser executado de forma assíncrona, mas pode potencialmente ser concluído de forma síncrona (aguardado) no futuro.

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

Encapsula a invocação de um método assíncrono de modo que ele possa ser executado de forma assíncrona, mas pode potencialmente ser concluído de forma síncrona (aguardado) no futuro.

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

Cria um IVsTask para acompanhar uma operação assíncrona cancelável.

StartOnIdle(JoinableTaskFactory, Action, VsTaskRunContext)

Agenda um delegado para execução em segundo plano no thread da interface do usuário sem herdar nenhuma declaração para o thread da interface do usuário de seu chamador.

StartOnIdle(JoinableTaskFactory, Func<Task>, VsTaskRunContext)

Agenda um delegado para execução em segundo plano no thread da interface do usuário sem herdar nenhuma declaração para o thread da interface do usuário de seu chamador.

WithPriority(JoinableTaskFactory, Dispatcher, DispatcherPriority)

Cria um JoinableTaskFactory que os agendamentos funcionam com o especificado Dispatcher e DispatcherPriority.

WithPriority(JoinableTaskFactory, VsTaskRunContext)

Cria um JoinableTaskFactory que os agendamentos funcionam com a prioridade de thread de interface do usuário Visual Studio especificada.

Aplica-se a

Acesso thread-safe

Esse tipo é thread-safe para todos os membros.