Share via


Control.Async, classe (F#)

Contient des membres permettant de créer et manipuler des calculs asynchrones. Control.Async est une classe statique.

Espace de noms/Chemin du module : 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

Notes

Ce type se nomme FSharpAsync dans les assemblys compilés. Si vous accédez au type à partir d'un langage autre que F# ou par réflexion, utilisez ce nom.

Pour une vue d'ensemble des flux de travail asynchrones, consultez Workflows asynchrones (F#).

Membres statiques

Membre

Description

AsBeginEnd

Crée trois fonctions qui peuvent être utilisées pour implémenter le modèle de programmation asynchrone (APM) .NET Framework pour un calcul asynchrone fourni.

AwaitEvent

Crée un calcul asynchrone qui attend un appel unique d'un événement .NET Framework en ajoutant un gestionnaire à l'événement. Une fois le calcul terminé ou annulé, le gestionnaire est supprimé de l'événement.

AwaitIAsyncResult

Crée un calcul asynchrone qui attend le IAsyncResult fourni.

AwaitTask

Retourne un calcul asynchrone qui attendra la tâche donnée pour se terminer et retourner son résultat.

AwaitWaitHandle

Crée un calcul asynchrone qui attend le WaitHandle fourni.

CancelDefaultToken

Déclenche la condition d'annulation pour l'ensemble de calculs asynchrones le plus récent démarré sans CancellationToken spécifique. Remplace le jeton global CancellationTokenSource par une nouvelle source de jeton global pour tous les calculs asynchrones créés sans CancellationToken spécifié.

CancellationToken

Crée un calcul asynchrone qui retourne CancellationToken qui gère l'exécution du calcul.

Catch

Crée un calcul asynchrone. Si ce calcul est réussi, cette méthode retourne Choice1Of2 avec la valeur retournée. Si ce calcul lève une exception avant d'être terminé, cette méthode retourne Choice2Of2 avec l'exception levée.

DefaultCancellationToken

Obtient le jeton d'annulation par défaut pour l'exécution des calculs asynchrones.

FromBeginEnd<'T>

Crée un calcul asynchrone en spécifiant une fonction de début et de fin comme les API .NET Framework.

FromBeginEnd<'Arg1,'T>

Crée un calcul asynchrone en spécifiant une fonction de début et de fin comme les API .NET Framework. Cette surcharge doit être utilisée si l'opération est qualifiée par un argument.

FromBeginEnd<'Arg1,'Arg2,'T>

Crée un calcul asynchrone en spécifiant une fonction de début et de fin comme les API .NET Framework. Cette surcharge doit être utilisée si l'opération est qualifiée par deux arguments.

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

Crée un calcul asynchrone en spécifiant une fonction de début et de fin comme les API .NET Framework. Cette surcharge doit être utilisée si l'opération est qualifiée par trois arguments.

FromContinuations

Crée un calcul asynchrone qui inclut les continuations de réussite, d'exception et d'annulation actuelles. La fonction doit ensuite appeler exactement l'une des continuations données.

Ignore

Crée un calcul asynchrone qui exécute le calcul donné et ignore son résultat.

OnCancel

Génère un gestionnaire d'annulation coopérative dont la portée est limitée au sein d'un flux de travail asynchrone.

Parallel

Crée un calcul asynchrone qui exécute tous les calculs asynchrones fournis, en plaçant initialement chaque calcul dans une file d'attente comme un élément de travail et en utilisant un modèle de bifurcation/jointure.

RunSynchronously

Exécute un calcul asynchrone et attend son résultat.

Veille

Crée un calcul asynchrone qui se met en état de veille durant la période indiquée. Un objet Timer est utilisé pour planifier le retard. L'opération ne bloque pas les threads du système d'exploitation durant l'attente.

Démarrer

Démarre le calcul asynchrone dans le pool de threads. N'attend pas son résultat.

StartAsTask

Exécute un calcul dans le pool de threads. Retourne un Task qui se terminera dans l'état correspondant une fois le calcul terminé (après avoir produit un résultat, levé une exception ou avoir été annulé). Si aucun jeton d'annulation n'est fourni, le jeton d'annulation par défaut est utilisé.

StartChild

Démarre un calcul enfant dans un flux de travail asynchrone. Cela permet d'exécuter plusieurs calculs asynchrones simultanément.

StartChildAsTask

Crée un calcul asynchrone qui démarre le calcul donné comme un Task.

StartImmediate

Exécute un calcul asynchrone, en commençant immédiatement sur le thread du système d'exploitation actuel.

StartWithContinuations

Exécute un calcul asynchrone, en commençant immédiatement sur le thread du système d'exploitation actuel. Cette méthode appelle l'une des trois continuations lorsque l'opération prend fin.

SwitchToContext

Crée un calcul asynchrone qui exécute sa continuation à l'aide de la méthode Post() du contexte de synchronisation fourni. Si le contexte de synchronisation fourni est null, le calcul asynchrone est équivalent à SwitchToThreadPool.

SwitchToNewThread

Crée un calcul asynchrone qui crée un nouveau thread et exécute sa continuation dans ce thread.

SwitchToThreadPool

Crée un calcul asynchrone qui place en file d'attente un élément de travail exécutant sa continuation.

TryCancelled

Crée un calcul asynchrone qui exécute le calcul fourni. Si ce calcul est annulé avant d'être terminé, le calcul généré en exécutant la fonction de compensation fournie est exécuté.

Plateformes

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

Informations de version

Runtime F#

Pris en charge dans : 2.0, 4.0

Silverlight

Prise en charge dans : 3

Voir aussi

Référence

Microsoft.FSharp.Control, espace de noms (F#)

Workflows asynchrones (F#)

Control.Async<'T>, type (F#)