Udostępnij za pośrednictwem


Control.Async — Klasa (F#)

Zawiera elementy członkowskie do tworzenia i manipulowania obliczeniami asynchronicznymi.Control.Async jest klasą statyczną.

Przestrzeń nazw/Ścieżka modułu: Microsoft.FSharp.Control

Zestaw: FSharp.Core (w 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

Uwagi

Ten typ nosi nazwę FSharpAsync w skompilowanych zestawach.Jeśli uzyskujesz dostęp do typu z języka innego niż F# lub przez odbicie, należy użyć tej nazwy.

Aby uzyskać informacje na temat przeglądu asynchronicznych przepływów pracy, zobacz Asynchroniczne przepływy pracy (F#).

Statyczne elementy członkowskie

Członek

Opis

AsBeginEnd

Tworzy trzy funkcje, które mogą służyć do wdrożenia Modelu programowania asynchronicznego (APM) .NET Framework dla dostarczonych obliczeń asynchronicznych.

AwaitEvent

Tworzy asynchroniczne obliczenie, które oczekuje na pojedyncze wywołanie zdarzenia .NET Framework, dodając procedurę obsługi zdarzenia.Kiedy obliczanie zakończy się lub zostanie anulowane, program obsługi jest usuwany ze zdarzenia.

AwaitIAsyncResult

Tworzy asynchroniczne obliczenie, które oczekuje na podanie IAsyncResult.

AwaitTask

Zwraca asynchroniczne obliczenie, które czeka, aż do ukończenia danego zadania i zwraca wynik.

AwaitWaitHandle

Tworzy asynchroniczne obliczenie, które oczekuje na podanie WaitHandle.

CancelDefaultToken

Podnosi warunek anulowania dla najnowszego zestawu asynchronicznego obliczeń uruchomionego bez żadnych szczególnych CancellationToken.Zastępuje globalny CancellationTokenSource z nowym globalnym źródłem tokena dla dowolnych asynchronicznych obliczeń tworzonych bez żadnych szczególnych CancellationToken.

CancellationToken

Tworzy asynchroniczne obliczenie, które zwraca CancellationToken, który zarządza wykonaniem obliczeń.

Catch

Tworzy asynchroniczne obliczenie.Jeśli te obliczenia zakończą się pomyślnie, metoda zwraca Choice1Of2 z wartością zwróconą.Jeżeli to obliczenie zgłasza wyjątek przed zakończeniem, metoda ta zwraca Choice2Of2 z podjętym wyjątkiem.

DefaultCancellationToken

Pobiera domyślny token anulowania dla uruchomionych obliczeń asynchronicznych.

FromBeginEnd<'T>

Tworzy asynchroniczne obliczenia określające funkcję początkową i końcową takie jak API .NET Framework.

FromBeginEnd<'Arg1,'T>

Tworzy asynchroniczne obliczenia określające funkcję początkową i końcową takie jak API .NET Framework.Tego przeciążenia można używać, jeśli operacja kwalifikuje się przez jeden argument.

FromBeginEnd<'Arg1,'Arg2,'T>

Tworzy asynchroniczne obliczenia określające funkcję początkową i końcową takie jak API .NET Framework.Tego przeciążenia można używać, jeśli operacja kwalifikuje się przez dwa argumenty.

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

Tworzy asynchroniczne obliczenia określające funkcję początkową i końcową takie jak API .NET Framework.Tego przeciążenia można używać, jeśli operacja kwalifikuje się przez trzy argumenty.

FromContinuations

Tworzy asynchroniczne obliczenie, które zawiera bieżące powodzenie, wyjątek i kontynuacje anulowania.Funkcja wywołania zwrotnego w końcu musi wywołać dokładnie jedną z danych kontynuacji.

Ignoruj

Tworzy asynchroniczne obliczenie, które uruchamia dane obliczenie i ignoruje wynik.

OnCancel

Generuje kooperacyjną procedurę anulowania przypisaną konkretnemu zasięgowi do wykorzystania w ramach asynchronicznego przepływu pracy.

Równoległe

Tworzy asynchroniczne obliczenie, które uruchamia wszystkie podane asynchroniczne obliczenia, początkowo ustawiając w kolejności każde z nich jako element roboczy i wykorzystując wzorzec rozwidlenia/scalania.

RunSynchronously

Uruchamia asynchroniczne obliczenie i czeka na jego wynik.

Uśpienie

Tworzy asynchroniczne obliczenie, które zatrzymuje się na określony czas.Obiekt Timer jest używany do planowania opóźnienia.Operacja nie blokuje wątków systemu operacyjnego na czas trwania zwłoki.

Początkowy

Uruchamia asynchroniczne obliczenie w puli wątków.Nie czeka na wynik.

Uruchom zadanie

Wykonuje obliczenia w puli wątków.Zwraca Task który zakończy się w odpowiednim stanie kiedy zostanie usunięte przy obliczaniu (daje wynik, wyjątek lub jest anulowane). Jeśli nie zostanie podany token anulowania, wykorzystany jest domyślny token anulowania.

Uruchom podrzędny

Uruchamia obliczenie elementu podrzędnego w obrębie asynchronicznego przepływu pracy.Dzięki temu wiele asynchronicznych obliczeń może być wykonywane jednocześnie.

Uruchom element podrzędny jako zadanie

Tworzy asynchroniczne obliczenie, które rozpoczyna dane obliczenie jako Task.

Uruchom natychmiast

Uruchamia asynchroniczne obliczenie, począwszy od razu od bieżącego wątku systemu operacyjnego.

Uruchom z kontynuacjami

Uruchamia asynchroniczne obliczenie, począwszy od razu od bieżącego wątku systemu operacyjnego.Ta metoda wymaga jednej z trzech kontynuacji po zakończeniu operacji.

Przełącz do kontekstu

Tworzy asynchroniczne obliczenie, które uruchamia jego kontynuację za pomocą dostarczonej metody Post kontekstu synchronizacji.Jeśli dostarczony kontekst synchronizacji to null, wówczas asynchroniczne obliczenie jest równoważne z Async.SwitchToThreadPool.

przełącz do nowego wątku

Tworzy asynchroniczne obliczenie, które tworzy nowy wątek i uruchamia jego kontynuację w tym wątku.

Przełącz do grupy wątku

Tworzy asynchroniczne obliczenie, które ustawia w kolejności element roboczy, który uruchamia jego kontynuację.

TryCancelled

Tworzy asynchroniczne obliczenie, które uruchamia dostarczone obliczenie.Jeżeli to obliczenie zostanie anulowane przed zakończeniem, zostanie wykonane obliczenie wygenerowane przez uruchomienie dostarczonej funkcji kompensacji.

Platformy

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

Informacje o wersji

Wersje podstawowe biblioteki języka F#

Obsługiwane przez: 2.0, 4.0, przenośne

Zobacz też

Informacje

Microsoft.FSharp.Control — Przestrzeń nazw (F#)

Asynchroniczne przepływy pracy (F#)

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