Freigeben über


Control.Async-Klasse (F#)

Enthält Member zum Erstellen und Bearbeiten von asynchronen Berechnungen. Control.Async ist eine statische Klasse.

Namespace/Modulpfad: 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

Hinweise

Der Name dieses Typs in kompilierten Assemblys lautet FSharpAsync. Verwenden Sie diesen Namen, wenn Sie in einer anderen Sprache als F# oder durch Reflektion auf den Typ zugreifen.

Eine Übersicht über asynchrone Workflows finden Sie unter Asynchrone Workflows (F#).

Statische Member

Member

Beschreibung

AsBeginEnd

Erstellt drei Funktionen, die verwendet werden können, um das asynchrone Programmiermodell (APM) von .NET Framework für eine angegebene asynchrone Berechnung zu implementieren.

AwaitEvent

Erstellt eine asynchrone Berechnung, die durch Hinzufügen eines Handlers zum Ereignis auf einen einzelnen Aufruf eines .NET Framework-Ereignisses wartet. Wenn die Berechnung beendet oder abgebrochen wird, wird der Handler aus dem Ereignis entfernt.

AwaitIAsyncResult

Erstellt eine asynchrone Berechnung, die auf den angegebenen IAsyncResult wartet.

AwaitTask

Gibt eine asynchrone Berechnung zurück, die wartet, bis die angegebene Aufgabe abgeschlossen ist, und das Ergebnis zurückgibt.

AwaitWaitHandle

Erstellt eine asynchrone Berechnung, die auf den angegebenen WaitHandle wartet.

CancelDefaultToken

Löst die Abbruchbedingung für den letzten Satz asynchroner Berechnungen aus, der ohne spezifisches CancellationToken gestartet wurde. Ersetzt die globale CancellationTokenSource durch eine neue globale Tokenquelle für alle asynchronen Berechnungen, die ohne spezifisches CancellationToken erstellt werden.

CancellationToken

Erstellt eine asynchrone Berechnung, die das CancellationToken zurückgibt, das die Ausführung der Berechnung verwaltet.

Catch

Erstellt eine asynchrone Berechnung. Wenn diese Berechnung erfolgreich abgeschlossen wird, gibt diese Methode Choice1Of2 mit dem zurückgegebenen Wert zurück. Wenn diese Berechnung eine Ausnahme auslöst, bevor sie abgeschlossen wird, gibt diese Methode Choice2Of2 mit der ausgelösten Ausnahme zurück.

DefaultCancellationToken

Ruft das Standardabbruchtoken zum Ausführen von asynchronen Berechnungen ab.

FromBeginEnd<'T>

Erstellt eine asynchrone Berechnung durch Angeben einer Anfangs- und Endfunktion, z. B. .NET Framework-APIs.

FromBeginEnd<'Arg1,'T>

Erstellt eine asynchrone Berechnung durch Angeben einer Anfangs- und Endfunktion, z. B. .NET Framework-APIs. Diese Überladung sollte verwendet werden, wenn der Vorgang von einem Argument qualifiziert wird.

FromBeginEnd<'Arg1,'Arg2,'T>

Erstellt eine asynchrone Berechnung durch Angeben einer Anfangs- und Endfunktion, z. B. .NET Framework-APIs. Diese Überladung sollte verwendet werden, wenn der Vorgang von zwei Argumenten qualifiziert wird.

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

Erstellt eine asynchrone Berechnung durch Angeben einer Anfangs- und Endfunktion, z. B. .NET Framework-APIs. Diese Überladung sollte verwendet werden, wenn der Vorgang von drei Argumenten qualifiziert wird.

FromContinuations

Erstellt eine asynchrone Berechnung, die die aktuellen Fortsetzungen für Erfolg, Ausnahme und Abbruch enthält. Die Rückruffunktion muss dann genau eine der angegebenen Fortsetzungen aufrufen.

Ignorieren

Erstellt eine asynchrone Berechnung, die die angegebene Berechnung ausführt und das Ergebnis ignoriert.

OnCancel

Generiert einen bereichsbezogenen kooperativen Abbruchhandler zur Verwendung in einem asynchronen Workflow.

Parallel

Erstellt eine asynchrone Berechnung, die alle angegebenen asynchronen Berechnungen ausführt; dabei werden die einzelnen Berechnungen zunächst als Arbeitsaufgaben in einer Warteschlange abgelegt, und es wird ein Verzweigungs-/Verknüpfungsmuster verwendet.

RunSynchronously

Führt eine asynchrone Berechnung aus und wartet auf das Ergebnis.

Sleep

Erstellt eine asynchrone Berechnung, die für die angegebene Zeit angehalten wird. Ein Timer-Objekt wird verwendet, um die Verzögerung zu planen. Betriebssystemthreads werden von diesem Vorgang während der Verzögerung nicht blockiert.

Starten

Startet eine asynchrone Berechnung im Threadpool. Wartet nicht auf das Ergebnis.

StartAsTask

Führt eine Berechnung im Threadpool aus. Gibt Task zurück, der im entsprechenden Zustand abgeschlossen wird, sobald die Berechnung beendet wird (das Ergebnis liefert, eine Ausnahme auslöst oder abgebrochen wird). Wenn kein Abbruchtoken bereitgestellt wird, wird das Standardabbruchtoken verwendet.

StartChild

Startet eine untergeordnete Berechnung in einem asynchronen Workflow. Dies ermöglicht die gleichzeitige Ausführung mehrerer asynchroner Berechnungen.

StartChildAsTask

Erstellt eine asynchrone Berechnung, die die angegebene Berechnung als Task startet.

StartImmediate

Führt eine asynchrone Berechnung aus, die sofort im aktuellen Betriebssystemthread beginnt.

StartWithContinuations

Führt eine asynchrone Berechnung aus, die sofort im aktuellen Betriebssystemthread beginnt. Diese Methode ruft eine der drei Fortsetzungen auf, wenn der Vorgang abgeschlossen ist.

SwitchToContext

Erstellt eine asynchrone Berechnung, die die Fortsetzung mit der Post()-Methode des angegebenen Synchronisierungskontexts ausführt. Wenn der angegebenen Synchronisierungskontext null ist, entspricht die asynchrone Berechnung SwitchToThreadPool.

SwitchToNewThread

Erstellt eine asynchrone Berechnung, die einen neuen Thread erstellt und die Fortsetzung in diesem Thread ausführt.

SwitchToThreadPool

Erstellt eine asynchrone Berechnung, die eine Arbeitsaufgabe in die Warteschlange stellt, die die Fortsetzung ausführt.

TryCancelled

Erstellt eine asynchrone Berechnung, die die angegebene Berechnung ausführt. Wenn diese Berechnung vor Abschluss abgebrochen wird, wird die Berechnung ausgeführt, die durch die Ausführung der angegebenen Kompensierungsfunktion generiert wurde.

Plattformen

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

Versionsinformationen

F#-Runtime

Unterstützt in: 2.0, 4.0

Silverlight

Unterstützt in: 3

Siehe auch

Referenz

Asynchrone Workflows (F#)

Weitere Ressourcen

Microsoft.FSharp.Control-Namespace (F#)

Control.Async<'T>-Typ (F#)