JoinableTaskFactory Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.