Control.Async (Clase de F#)

Contiene miembros para crear y manipular cálculos asincrónicos. Control.Async es una clase estática.

Espacio de nombres/Ruta de acceso del módulo: Microsoft.FSharp.Control

Ensamblado: FSharp.Core (en FSharp.Core.dll)

[<Sealed>]
type Async =
 class
  static member AsBeginEnd : ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit)
  static member AwaitEvent : IEvent<'Del,'T> * ?(unit -> unit) -> Async<'T>
  static member AwaitIAsyncResult : IAsyncResult * ?int -> Async<bool>
  static member AwaitTask : Task<'T> -> Async<'T>
  static member AwaitWaitHandle : WaitHandle * ?int -> Async<bool>
  static member CancelDefaultToken : unit -> unit
  static member Catch : Async<'T> -> Async<Choice<'T,exn>>
  static member FromBeginEnd : 'Arg1 * 'Arg2 * 'Arg3 * ('Arg1 * 'Arg2 * 'Arg3 * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * ?(unit -> unit) -> Async<'T>
  static member FromBeginEnd : 'Arg1 * 'Arg2 * ('Arg1 * 'Arg2 * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * ?(unit -> unit) -> Async<'T>
  static member FromBeginEnd : 'Arg1 * ('Arg1 * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * ?(unit -> unit) -> Async<'T>
  static member FromBeginEnd : (AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * ?(unit -> unit) -> Async<'T>
  static member FromContinuations : (('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit) -> Async<'T>
  static member Ignore : Async<'T> -> Async<unit>
  static member OnCancel : (unit -> unit) -> Async<IDisposable>
  static member Parallel : seq<Async<'T>> -> Async<'T []>
  static member RunSynchronously : Async<'T> * ?int * ?CancellationToken -> 'T
  static member Sleep : int -> Async<unit>
  static member Start : Async<unit> * ?CancellationToken -> unit
  static member StartAsTask : Async<'T> * ?TaskCreationOptions * ?CancellationToken -> Task<'T>
  static member StartChild : Async<'T> * ?int -> Async<Async<'T>>
  static member StartChildAsTask : Async<'T> * ?TaskCreationOptions -> Async<Task<'T>>
  static member StartImmediate : Async<unit> * ?CancellationToken -> unit
  static member StartWithContinuations : Async<'T> * ('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) * ?CancellationToken -> unit
  static member SwitchToContext : SynchronizationContext -> Async<unit>
  static member SwitchToNewThread : unit -> Async<unit>
  static member SwitchToThreadPool : unit -> Async<unit>
  static member TryCancelled : Async<'T> * (OperationCanceledException -> unit) -> Async<'T>
  static member CancellationToken :  Async<CancellationToken>
  static member DefaultCancellationToken :  CancellationToken
 end

Comentarios

Este tipo se denomina FSharpAsync en los ensamblados compilados. Si obtiene acceso al tipo desde un lenguaje distinto de F# o mediante reflexión, use este nombre.

Para obtener información general sobre los flujos de trabajo asincrónicos, vea Flujos de trabajo asincrónicos (F#).

Miembros estáticos

Miembro

Descripción

AsBeginEnd

Crea tres funciones que se pueden usar para implementar el modelo de programación asincrónica (APM) de .NET Framework para el cálculo asincrónico concreto.

AwaitEvent

Crea un cálculo asincrónico que aguarda una sola invocación de un evento de .NET Framework agregando un controlador al evento. Cuando se completa o cancela el cálculo, se quita el controlador del evento.

AwaitIAsyncResult

Crea un cálculo asincrónico que espera el objeto IAsyncResult proporcionado.

AwaitTask

Devuelve un cálculo asincrónico que espera a que la tarea determinada se complete y devuelva su resultado.

AwaitWaitHandle

Crea un cálculo asincrónico que espera el objeto WaitHandle proporcionado.

CancelDefaultToken

Genera la condición de cancelación para el conjunto más reciente de cálculos asincrónicos que se inició sin ningún CancellationToken concreto. Reemplaza el objeto CancellationTokenSource global por un nuevo origen de token global para todos los cálculos asincrónicos creados sin ningún CancellationToken específico.

CancellationToken

Crea un cálculo asincrónico que devuelve el CancellationToken que administra la ejecución del cálculo.

Catch

Crea un cálculo asincrónico. Si este cálculo finaliza correctamente, el método devuelve Choice1Of2 con el valor devuelto. Si este cálculo produce una excepción antes de que finalice, este método devuelve Choice2Of2 con la excepción producida.

DefaultCancellationToken

Obtiene el token de cancelación predeterminado para la ejecución de cálculos asincrónicos.

FromBeginEnd<'T>

Crea un cálculo asincrónico especificando una función inicial y final, como las API de .NET Framework.

FromBeginEnd<'Arg1,'T>

Crea un cálculo asincrónico especificando una función inicial y final, como las API de .NET Framework. Esta sobrecarga debe usarse si hay un argumento que califica la operación.

FromBeginEnd<'Arg1,'Arg2,'T>

Crea un cálculo asincrónico especificando una función inicial y final, como las API de .NET Framework. Esta sobrecarga debe usarse si hay dos argumentos que califican la operación.

FromBeginEnd<'Arg1,'Arg2,'Arg3,'T>

Crea un cálculo asincrónico especificando una función inicial y final, como las API de .NET Framework. Esta sobrecarga debe usarse si hay tres argumentos que califican la operación.

FromContinuations

Crea un cálculo asincrónico que incluye las actuales continuaciones correctas, de excepción y de cancelación. Finalmente, la función devolución de llamada debe llamar exactamente a una de las continuaciones especificadas.

Ignore

Crea un cálculo asincrónico que ejecuta el cálculo especificado y omite su resultado.

OnCancel

Genera un controlador de cancelación cooperativa con ámbito para su uso en un flujo de trabajo asincrónico.

Parallel

Crea un cálculo asincrónico que ejecuta todos los cálculos asincrónicos proporcionados, poniéndolos inicialmente en cola como elementos de trabajo y usando un modelo de bifurcación/combinación.

RunSynchronously

Ejecuta un cálculo asincrónico y espera su resultado.

Sleep

Crea un cálculo asincrónico que se pone en pausa durante el tiempo especificado. Un objeto Timer se utiliza para programar el retraso. La operación no bloquea los subprocesos del sistema operativo durante el tiempo de retraso.

Inicio

Inicia el cálculo asincrónico en el grupo de subprocesos. No espera su resultado.

StartAsTask

Ejecuta un cálculo en el grupo de subprocesos. Devuelve un objeto Task que se completará una vez en el estado correspondiente cuando finaliza el cálculo (genera el resultado, produce la excepción o se cancela). Si no se proporciona ningún token de cancelación, se utiliza el token de cancelación predeterminado.

StartChild

Inicia un cálculo secundario en un flujo de trabajo asincrónico. Esto permite ejecutar simultáneamente varios cálculos asincrónicos.

StartChildAsTask

Crea un cálculo asincrónico que inicia el cálculo de que se trate como un objeto Task.

StartImmediate

Ejecuta un cálculo asincrónico y comienza inmediatamente en el subproceso actual del sistema operativo.

StartWithContinuations

Ejecuta un cálculo asincrónico y comienza inmediatamente en el subproceso actual del sistema operativo. Este método llama a una de las tres continuaciones cuando finaliza la operación.

SwitchToContext

Crea un cálculo asincrónico que ejecuta su continuación mediante el método Post() del contexto de sincronización proporcionado. Si el contexto de sincronización proporcionado es null, el cálculo asincrónico es equivalente a SwitchToThreadPool.

SwitchToNewThread

Crea un cálculo asincrónico que crea un nuevo subproceso y ejecuta su continuación en ese subproceso.

SwitchToThreadPool

Crea un cálculo asincrónico que pone en cola un elemento de trabajo que ejecuta su continuación.

TryCancelled

Crea un cálculo asincrónico que ejecuta el cálculo proporcionado. Si se cancela este cálculo antes de que finalice, se ejecutará el cálculo generado por la ejecución de la función de compensación proporcionada.

Plataformas

Windows 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2

Información de versiones

Runtime de F#

Se admite en las versiones: 2.0, 4.0

Silverlight

Se admite en la versión: 3

Vea también

Referencia

Microsoft.FSharp.Control (Espacio de nombres de F#)

Flujos de trabajo asincrónicos (F#)

Control.Async<'T> (Tipo de F#)