Sdílet prostřednictvím


Control.Async – třída (F#)

Obsahuje členy pro vytváření a manipulaci s asynchronními výpočty.Control.Async je statická třída.

Obor názvů/cesta modulu: Microsoft.FSharp.Control

Sestavení: FSharp.Core (v 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

Poznámky

Tento typ se nazývá FSharpAsync v kompilovaném sestavení.Při přístupu k typu z jazyka jiného než F# nebo prostřednictvím reflexe použijte tento název.

Přehled asynchronních pracovních postupů naleznete v tématu Asynchronní pracovní postupy (F#).

Statické členy

Člen

Description

AsBeginEnd

Vytvoří tři funkce, které lze použít k implementaci asynchronního programovacího modelu (APM) rozhraní .NET Framework pro výpočet zadaného asynchronního výpočtu.

AwaitEvent

Vytvoří asynchronní výpočet, který čeká na jediné vyvolání události rozhraní .NET Framework, přidáním obslužné rutiny události.Po dokončení nebo zrušení výpočtu je obslužná rutina odebrána z události.

AwaitIAsyncResult

Vytvoří asynchronní výpočet, který čeká na zadaný IAsyncResult.

AwaitTask

Vrátí asynchronní výpočet, který čeká na dokončení dané úlohy a vrátí její výsledek.

AwaitWaitHandle

Vytvoří asynchronní výpočet, který čeká na zadaný WaitHandle.

CancelDefaultToken

Vyvolá podmínku zrušení pro nejnovější sadu asynchronních výpočtů spuštěných bez jakéhokoliv specifického CancellationToken.Nahrazuje globální CancellationTokenSource novým prostředkem globálního tokenu pro všechny asynchronní výpočty, které jsou vytvořeny bez jakékoliv specifické CancellationToken.

CancellationToken

Vytvoří asynchronní výpočet, který vrací CancellationToken spravující provádění výpočtu.

Catch

Vytvoří asynchronní výpočet.Pokud je tento výpočet úspěšně dokončen, vrátí tato metoda Choice1Of2 s vrácenou hodnotu.Pokud tento výpočet vyvolá výjimku před dokončením, vrátí tato metoda Choice2Of2 s vyvolanou výjimkou.

DefaultCancellationToken

Získá výchozí token zrušení pro spouštění asynchronních výpočtů.

FromBeginEnd<'T>

Vytvoří asynchronní výpočet určením počáteční a koncové funkce, jako rozhraní API .NET Framework.

FromBeginEnd<'Arg1,'T>

Vytvoří asynchronní výpočet určením počáteční a koncové funkce, jako rozhraní API .NET Framework.Toto přetížení by mělo být použito v případě, že operace je kvalifikována jedním argumentem.

FromBeginEnd<'Arg1,'Arg2,'T>

Vytvoří asynchronní výpočet určením počáteční a koncové funkce, jako rozhraní API .NET Framework.Toto přetížení by mělo být použito v případě, že operace je kvalifikována dvěma argumenty.

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

Vytvoří asynchronní výpočet určením počáteční a koncové funkce, jako rozhraní API .NET Framework.Toto přetížení by mělo být použito v případě, že operace je kvalifikována třemi argumenty.

FromContinuations

Vytvoří asynchronní výpočet, který zahrnuje aktuální úspěch, výjimku a zrušení pokračování.Funkce zpětného volání musí nakonec zavolat právě jedno z daných pokračování.

Ignorovat

Vytvoří asynchronní výpočet, který spustí daný výpočet a ignoruje jeho výsledek.

OnCancel

Generuje popisovač kooperativního zrušení v rozsahu pro použití v asynchronním pracovním postupu.

Paralelní

Vytvoří asynchronní výpočet, který spustí všechny zadané asynchronní výpočty, přičemž zpočátku každý zařadí do fronty jako pracovní položku a použije vzorek vidlice/spojení.

RunSynchronously

Spustí asynchronní výpočet a počká na jeho výsledek.

Převést do režimu spánku

Vytvoří asynchronní výpočet, který se pozastaví na určený čas.Objekt Timer se používá k plánování zpoždění.Operace neblokuje vlákna operačního systému po dobu zpoždění.

Start

Spustí asynchronní výpočet ve fondu vláken.Nečeká na jeho výsledek.

StartAsTask

Spustí výpočet ve fondu vláken.Vrátí Task, který bude dokončen v odpovídajícím stavu po ukončení výpočtu (dá výsledek, vyvolá výjimku nebo bude zrušen). Pokud není k dispozici žádný token zrušení, pak je použit výchozí token rušení.

StartChild

Spustí podřízený výpočet v asynchronním pracovním postupu.To umožňuje současné vykonávání více asynchronních výpočtů.

StartChildAsTask

Vytvoří asynchronní výpočet, který spouští daný výpočet jako Task.

StartImmediate

Spustí asynchronní výpočet počínaje okamžitě na aktuálním vlákně operačního systému.

StartWithContinuations

Spustí asynchronní výpočet počínaje okamžitě na aktuálním vlákně operačního systému.Tato metoda volá jedno ze tří pokračování po ukončení operace.

SwitchToContext

Vytvoří asynchronní výpočet, který spouští jeho pokračování pomocí metody Post zadaného kontextu synchronizace.Pokud zadaný kontext synchronizace je null, asynchronní výpočet je ekvivalentní k SwitchToThreadPool.

SwitchToNewThread

Vytvoří asynchronní výpočet, který vytvoří nové vlákno a spustí jeho pokračování v tomto vlákně.

SwitchToThreadPool

Vytvoří asynchronní výpočet, který zařadí do fronty pracovní položku, kterou spustí jeho pokračování.

TryCancelled

Vytvoří asynchronní výpočet, který spustí zadaný výpočet.Pokud tento výpočet je zrušen před dokončením, je výpočet generován spuštěním zadané funkce kompenzace.

Platformy

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

Informace o verzi

Verze základní knihovny F#

Podporováno ve verzích: 2.0, 4.0, Portable

Viz také

Referenční dokumentace

Microsoft.FSharp.Control – obor názvů (F#)

Asynchronní pracovní postupy (F#)

Control.Async<'T> – typ (F#)