Lenguaje

JoinableTaskFactory Clase

Definición

Generador para iniciar tareas asincrónicas que pueden mitigar los interbloqueos cuando las tareas requieren el subproceso principal de una aplicación y el subproceso main puede bloquearse al completar una tarea.

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

Comentarios

Para obtener comentarios más completos, consulte .JoinableTaskContext

Constructores

Nombre Description
JoinableTaskFactory(JoinableTaskCollection)

Inicializa una nueva instancia de la JoinableTaskFactory clase que agrega todos los trabajos generados a la colección especificada.

JoinableTaskFactory(JoinableTaskContext)

Inicializa una nueva instancia de la clase JoinableTaskFactory.

Propiedades

Nombre Description
Context

Obtiene el contexto de tarea que se puede unir al que pertenece esta factoría.

HangDetectionTimeout

Obtiene o establece el tiempo de espera después del cual no se ha producido ninguna actividad mientras el bloqueo sincrónico sugiere que se ha producido un bloqueo.

UnderlyingSynchronizationContext

Obtiene el subyacente SynchronizationContext que controla el subproceso principal del host.

Métodos

Nombre Description
Add(JoinableTask)

Agrega la tarea combinable especificada a la colección aplicable.

DisableProcessing()

Impide que las bombas de mensajes filtradas se ejecuten durante esperas sincrónicas para el ambiente JoinableTask.

IsWaitingOnLongRunningTask()

Compruebe si el objeto joinableTask actual está esperando una tarea de larga duración.

OnTransitionedToMainThread(JoinableTask, Boolean)

Se genera cada vez que una tarea que se puede unir ha completado una transición al subproceso principal.

OnTransitioningToMainThread(JoinableTask)

Se genera cuando una tarea que se puede unir ha solicitado una transición al subproceso principal.

PostToUnderlyingSynchronizationContext(SendOrPostCallback, Object)

Envía un mensaje al objeto SynchronizationContext subyacente especificado para su procesamiento cuando el subproceso principal está disponible libremente.

Run(Func<Task>, JoinableTaskCreationOptions)

Ejecuta el método asincrónico especificado para finalizar mientras bloquea sincrónicamente el subproceso que realiza la llamada.

Run(Func<Task>)

Ejecuta el método asincrónico especificado para finalizar mientras bloquea sincrónicamente el subproceso que realiza la llamada.

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

Ejecuta el método asincrónico especificado para finalizar mientras bloquea sincrónicamente el subproceso que realiza la llamada.

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

Ejecuta el método asincrónico especificado para finalizar mientras bloquea sincrónicamente el subproceso que realiza la llamada.

RunAsync(Func<Task>, JoinableTaskCreationOptions)

Invoca un delegado asincrónico en el subproceso del autor de la llamada y devuelve al autor de la llamada cuando produce el método asincrónico. El delegado asincrónico se invoca de tal manera que se mitigue los interbloqueos en caso de que el método asincrónico requiera el subproceso principal mientras el subproceso principal está bloqueado esperando la finalización del método asincrónico.

RunAsync(Func<Task>, String, JoinableTaskCreationOptions)

Generador para iniciar tareas asincrónicas que pueden mitigar los interbloqueos cuando las tareas requieren el subproceso principal de una aplicación y el subproceso main puede bloquearse al completar una tarea.

RunAsync(Func<Task>)

Invoca un delegado asincrónico en el subproceso del autor de la llamada y devuelve al autor de la llamada cuando produce el método asincrónico. El delegado asincrónico se invoca de tal manera que se mitigue los interbloqueos en caso de que el método asincrónico requiera el subproceso principal mientras el subproceso principal está bloqueado esperando la finalización del método asincrónico.

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

Invoca un delegado asincrónico en el subproceso del autor de la llamada y devuelve al autor de la llamada cuando produce el método asincrónico. El delegado asincrónico se invoca de tal manera que se mitigue los interbloqueos en caso de que el método asincrónico requiera el subproceso principal mientras el subproceso principal está bloqueado esperando la finalización del método asincrónico.

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

Generador para iniciar tareas asincrónicas que pueden mitigar los interbloqueos cuando las tareas requieren el subproceso principal de una aplicación y el subproceso main puede bloquearse al completar una tarea.

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

Invoca un delegado asincrónico en el subproceso del autor de la llamada y devuelve al autor de la llamada cuando produce el método asincrónico. El delegado asincrónico se invoca de tal manera que se mitigue los interbloqueos en caso de que el método asincrónico requiera el subproceso principal mientras el subproceso principal está bloqueado esperando la finalización del método asincrónico.

SwitchToMainThreadAsync(Boolean, CancellationToken)

Obtiene un objeto awaitable cuyas continuaciones se ejecutan en el contexto de sincronización con el que se inicializó esta instancia, de forma que se mitiguen los interbloqueos y la reentrada.

SwitchToMainThreadAsync(CancellationToken)

Obtiene un objeto awaitable cuyas continuaciones se ejecutan en el subproceso principal, de forma que se mitiguen los interbloqueos y la reentrada.

WaitSynchronously(Task)

Bloquea sincrónicamente el subproceso que realiza la llamada para completar la tarea especificada. Si se ejecuta en el subproceso principal, se suprime cualquier bomba de mensajes aplicable mientras el subproceso se suspende.

WaitSynchronouslyCore(Task)

Bloquea sincrónicamente el subproceso que realiza la llamada para completar la tarea especificada.

Métodos de extensión

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

Bloquea el subproceso de llamada (UI) hasta que se complete una operación cancelable y asincrónica. Se muestra un cuadro de diálogo de espera que se puede cancelar opcionalmente si la operación tarda demasiado tiempo.

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

Bloquea el subproceso de llamada (UI) hasta que se complete una operación asincrónica. Se muestra un cuadro de diálogo de espera que se puede cancelar opcionalmente si la operación tarda demasiado tiempo.

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

Bloquea el subproceso de llamada (UI) hasta que se complete una operación asincrónica. La cancelación se ofrece al usuario.

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

Bloquea el subproceso de llamada (UI) hasta que se complete una operación asincrónica. No se ofrece ninguna cancelación al usuario.

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

Bloquea el subproceso de llamada (UI) hasta que se complete una operación cancelable y asincrónica. Se muestra un cuadro de diálogo de espera que se puede cancelar opcionalmente si la operación tarda demasiado tiempo.

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

Bloquea el subproceso de llamada (UI) hasta que se complete una operación asincrónica. Se muestra un cuadro de diálogo de espera que se puede cancelar opcionalmente si la operación tarda demasiado tiempo.

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

Bloquea el subproceso de llamada (UI) hasta que se complete una operación asincrónica. La cancelación se ofrece al usuario.

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

Bloquea el subproceso de llamada (UI) hasta que se complete una operación asincrónica. No se ofrece ninguna cancelación al usuario.

RunAsync(JoinableTaskFactory, VsTaskRunContext, Func<Task>)

Encapsula la invocación de un método asincrónico de modo que se pueda ejecutar de forma asincrónica, pero puede que se complete sincrónicamente (esperando) en el futuro.

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

Encapsula la invocación de un método asincrónico de modo que se pueda ejecutar de forma asincrónica, pero puede que se complete sincrónicamente (esperando) en el futuro.

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

Crea un IVsTask para realizar un seguimiento de una operación asincrónica cancelable.

StartOnIdle(JoinableTaskFactory, Action, VsTaskRunContext)

Programa un delegado para la ejecución en segundo plano en el subproceso de la interfaz de usuario sin heredar ninguna notificación al subproceso de la interfaz de usuario de su llamador.

StartOnIdle(JoinableTaskFactory, Func<Task>, VsTaskRunContext)

Programa un delegado para la ejecución en segundo plano en el subproceso de la interfaz de usuario sin heredar ninguna notificación al subproceso de la interfaz de usuario de su llamador.

WithPriority(JoinableTaskFactory, Dispatcher, DispatcherPriority)

Crea un JoinableTaskFactory objeto que programa el trabajo con los especificados Dispatcher y DispatcherPriority.

WithPriority(JoinableTaskFactory, VsTaskRunContext)

Crea un JoinableTaskFactory objeto que programa el trabajo con la prioridad de subproceso de interfaz de usuario Visual Studio especificada.

Se aplica a

Seguridad para subprocesos

Este tipo es seguro para subprocesos para todos los miembros.