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 mitigar deadlocks quando as tarefas exigem o thread principal de um aplicativo e o thread principal pode ser bloqueado na 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 comentários mais completos, consulte o JoinableTaskContext .
Construtores
| 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
| Context |
Obtém o contexto de tarefa de junção ao qual essa fábrica pertence. |
| HangDetectionTimeout |
Obtém ou define o tempo limite após o qual nenhuma atividade enquanto o bloqueio síncrono sugere um travamento ocorreu. |
| UnderlyingSynchronizationContext |
Obtém o subjacente SynchronizationContext que controla o thread principal no host. |
Métodos
| Add(JoinableTask) |
Adiciona a tarefa unida especificada à coleção aplicável. |
| IsWaitingOnLongRunningTask() |
Verifique se o joinableTask atual está aguardando uma tarefa de longa execução. |
| OnTransitionedToMainThread(JoinableTask, Boolean) |
Gerado sempre que uma tarefa de junção tiver concluído uma transição para o thread principal. |
| OnTransitioningToMainThread(JoinableTask) |
Gerado quando uma tarefa de junção solicitou 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 gratuitamente. |
| Run(Func<Task>) |
Executa o método assíncrono especificado para conclusão enquanto bloqueia o thread de chamada de forma síncrona. |
| Run(Func<Task>, JoinableTaskCreationOptions) |
Executa o método assíncrono especificado para conclusão enquanto bloqueia o thread de chamada de forma síncrona. |
| Run<T>(Func<Task<T>>) |
Executa o método assíncrono especificado para conclusão enquanto bloqueia o thread de chamada de forma síncrona. |
| Run<T>(Func<Task<T>>, JoinableTaskCreationOptions) |
Executa o método assíncrono especificado para conclusão enquanto bloqueia o thread de chamada de forma síncrona. |
| RunAsync(Func<Task>) |
Invoca um delegado assíncrono no thread do chamador e retorna ao chamador quando o método Async é produzido. O delegado assíncrono é invocado de forma a mitigar deadlocks caso o método Async exija o thread principal, enquanto o thread principal é bloqueado aguardando a conclusão do método Async. |
| RunAsync(Func<Task>, JoinableTaskCreationOptions) |
Invoca um delegado assíncrono no thread do chamador e retorna ao chamador quando o método Async é produzido. O delegado assíncrono é invocado de forma a mitigar deadlocks caso o método Async exija o thread principal, enquanto o thread principal é bloqueado aguardando a conclusão do método Async. |
| RunAsync<T>(Func<Task<T>>) |
Invoca um delegado assíncrono no thread do chamador e retorna ao chamador quando o método Async é produzido. O delegado assíncrono é invocado de forma a mitigar deadlocks caso o método Async exija o thread principal, enquanto o thread principal é bloqueado aguardando a conclusão do método Async. |
| RunAsync<T>(Func<Task<T>>, JoinableTaskCreationOptions) |
Invoca um delegado assíncrono no thread do chamador e retorna ao chamador quando o método Async é produzido. O delegado assíncrono é invocado de forma a mitigar deadlocks caso o método Async exija o thread principal, enquanto o thread principal é bloqueado aguardando a conclusão do método Async. |
| 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 forma a reduzir os deadlocks e a reentrância. |
| SwitchToMainThreadAsync(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 forma a reduzir os deadlocks e a reentrância. |
| 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 for suspenso. |
| WaitSynchronouslyCore(Task) |
Bloqueia de forma síncrona o thread de chamada para a conclusão da tarefa especificada. |
Métodos de Extensão
| Run(JoinableTaskFactory, String, Func<IProgress<ThreadedWaitDialogProgressData>,CancellationToken,Task>, Nullable<TimeSpan>) |
Bloqueia o thread de chamada (IU) até um cancelamento, a operação assíncrona é concluída. Uma caixa de diálogo de espera opcionalmente cancelável será exibida se a operação levar muito tempo. |
| Run(JoinableTaskFactory, String, Func<IProgress<ThreadedWaitDialogProgressData>,Task>, Nullable<TimeSpan>) |
Bloqueia o thread de chamada (IU) 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 levar muito tempo. |
| Run(JoinableTaskFactory, String, String, Func<IProgress<ThreadedWaitDialogProgressData>,CancellationToken,Task>, Nullable<TimeSpan>) |
Bloqueia o thread de chamada (IU) 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 (IU) 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>) | |
| Run<T>(JoinableTaskFactory, String, Func<IProgress<ThreadedWaitDialogProgressData>,Task<T>>, Nullable<TimeSpan>) | |
| Run<T>(JoinableTaskFactory, String, String, Func<IProgress<ThreadedWaitDialogProgressData>,CancellationToken,Task<T>>, Nullable<TimeSpan>) | |
| Run<T>(JoinableTaskFactory, String, String, Func<IProgress<ThreadedWaitDialogProgressData>,Task<T>>, Nullable<TimeSpan>) | |
| RunAsync(JoinableTaskFactory, VsTaskRunContext, Func<Task>) |
Delimita 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 maneira síncrona (aguardado) no futuro. |
| RunAsync<T>(JoinableTaskFactory, VsTaskRunContext, Func<Task<T>>) |
Delimita 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 maneira síncrona (aguardado) no futuro. |
| RunAsyncAsVsTask<T>(JoinableTaskFactory, VsTaskRunContext, Func<CancellationToken,Task<T>>) |
Cria um IVsTask para rastrear uma operação assíncrona cancelável. |
| StartOnIdle(JoinableTaskFactory, Action, VsTaskRunContext) |
Agenda um delegado para a 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 a 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, VsTaskRunContext) |
Cria um JoinableTaskFactory que os agendamentos funcionam com a prioridade de thread de interface do usuário do Visual Studio especificada. |
| WithPriority(JoinableTaskFactory, Dispatcher, DispatcherPriority) |
Cria um JoinableTaskFactory que os agendamentos funcionam com os especificados Dispatcher e DispatcherPriority . |
Aplica-se a
Acesso thread-safe
Esse tipo é thread-safe para todos os membros.