Condividi tramite


Classe Control.Async (F#)

Contiene i membri per creare e modificare calcoli asincroni. Control.Async è una classe statica.

Percorso di spazio dei nomi/modulo: Microsoft.FSharp.Control

Assembly: FSharp.Core (in 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

Note

Questo tipo è denominato FSharpAsync negli assembly compilati. Utilizzare questo nome per accedere al tipo da un linguaggio diverso da F# o tramite reflection.

Per una panoramica dei flussi di lavoro asincroni, vedere Flussi di lavoro asincroni (F#).

Membri statici

Membro

Descrizione

AsBeginEnd

Crea tre funzioni utilizzabili per implementare il modello di programmazione asincrona .NET Framework per un calcolo asincrono fornito.

AwaitEvent

Crea un calcolo asincrono che attende una singola chiamata di un evento .NET Framework aggiungendo un gestore all'evento. Una volta completato o annullato il calcolo, il gestore viene rimosso dall'evento.

AwaitIAsyncResult

Consente di creare un calcolo asincrono che attende l'oggetto IAsyncResult fornito.

AwaitTask

Restituisce un calcolo asincrono che attende il completamento dell'attività specificata e restituisce il risultato.

AwaitWaitHandle

Consente di creare un calcolo asincrono che attende l'oggetto WaitHandle fornito.

CancelDefaultToken

Genera la condizione di annullamento per il set più recente di calcoli asincroni avviato senza alcun oggetto CancellationToken specifico. Sostituisce l'oggetto globale CancellationTokenSource con una nuova origine di token globale per qualsiasi calcolo asincrono creato senza alcun specifico CancellationToken.

CancellationToken

Consente di creare un calcolo asincrono che restituisce il CancellationToken che gestisce l'esecuzione del calcolo.

Catch

Consente di creare un calcolo asincrono. Se il calcolo viene completato senza errori, questo metodo restituisce Choice1Of2 con il valore restituito. Se il calcolo genera un'eccezione prima del completamento, questo metodo restituisce Choice2Of2 con l'eccezione generata.

DefaultCancellationToken

Ottiene il token di annullamento predefinito per l'esecuzione di calcoli asincroni.

FromBeginEnd<'T>

Crea un calcolo asincrono specificando una funzione iniziale e finale, ad esempio .NET Framework API.

FromBeginEnd<'Arg1,'T>

Crea un calcolo asincrono specificando una funzione iniziale e finale, ad esempio .NET Framework API. Questo overload deve essere utilizzato se l'operazione viene qualificata da un argomento.

FromBeginEnd<'Arg1,'Arg2,'T>

Crea un calcolo asincrono specificando una funzione iniziale e finale, ad esempio .NET Framework API. Questo overload deve essere utilizzato se l'operazione viene qualificata da due argomenti.

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

Crea un calcolo asincrono specificando una funzione iniziale e finale, ad esempio .NET Framework API. Questo overload deve essere utilizzato se l'operazione viene qualificata da tre argomenti.

FromContinuations

Crea un calcolo asincrono che include le continuazioni di esito positivo, di eccezione e di annullamento correnti. La funzione di callback dovrà quindi chiamare una delle continuazioni specificate.

Ignora

Crea un calcolo asincrono che esegue il calcolo specificato e ignora il relativo risultato.

OnCancel

Genera un gestore di annullamenti cooperativo e con un ambito definito da utilizzare all'interno di un flusso di lavoro asincrono.

Parallel

Crea un oggetto di calcolo asincrono che esegue tutti i calcoli asincroni forniti, accodando inizialmente ciascun calcolo come elemento di lavoro e utilizzando un modello fork/join.

RunSynchronously

Esegue un calcolo asincrono e attende il relativo risultato.

Sleep

Consente di creare un calcolo asincrono che rimane sospeso per il tempo specificato. Oggetto Timer utilizzato per pianificare il ritardo. L'operazione non bloccherà i thread del sistema operativo per la durata del ritardo.

Start

Avvia un calcolo asincrono nel pool di thread. Non attendere il risultato.

StartAsTask

Esegue un calcolo asincrono nel pool di thread. Restituisce un oggetto Task che sarà completato nello stato corrispondente al termine del calcolo (produce il risultato, genera un'eccezione o viene annullato). Se non viene fornito alcun token di annullamento, viene utilizzato il token di annullamento predefinito.

StartChild

Avvia l'esecuzione di un calcolo figlio all'interno di un flusso di lavoro asincrono. Questo metodo consente l'esecuzione simultanea di più calcoli asincroni.

StartChildAsTask

Crea un calcolo asincrono che avvia il calcolo specificato come Task.

StartImmediate

Esegue un calcolo asincrono, iniziando immediatamente nel thread del sistema operativo corrente.

StartWithContinuations

Esegue un calcolo asincrono, iniziando immediatamente nel thread del sistema operativo corrente. Questo metodo chiama una delle tre continuazioni al completamento dell'operazione.

SwitchToContext

Consente di creare un calcolo asincrono che esegue la relativa continuazione tramite il metodo Post del contesto di sincronizzazione fornito. Se il contesto di sincronizzazione fornito è null, il calcolo asincrono equivale a SwitchToThreadPool.

SwitchToNewThread

Crea un calcolo asincrono che genera un nuovo thread ed esegue la relativa continuazione in tale thread.

SwitchToThreadPool

Crea un calcolo asincrono che accoda un elemento di lavoro che esegue la relativa continuazione.

TryCancelled

Consente di creare un calcolo asincrono che esegue il calcolo fornito. Se il calcolo viene annullato prima del completamento, viene eseguito il calcolo generato mediante l'esecuzione della funzione di compensazione fornita.

Piattaforme

Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2

Informazioni sulla versione

Versioni della libreria di base di F#

Supportato in: 2.0, 4.0, portabile

Vedere anche

Riferimenti

Spazio dei nomi Microsoft.FSharp.Control (F#)

Flussi di lavoro asincroni (F#)

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