Control.Async 類別 (F#)

包含用於建立及管理非同步計算的成員。 Control.Async 為靜態類別。

命名空間/模組路徑: Microsoft.FSharp.Control

組件:FSharp.Core (在 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

備註

這個型別是名為 FSharpAsync中 已編譯的組件。 如果從一個語言,F # 以外,或透過反映存取類型使用這個名稱。

如需非同步工作流程的概觀,請參閱非同步工作流程 (F#)

靜態成員

成員

說明

AsBeginEnd

會建立三個函式可以用來實作,.NET Framework 非同步程式設計模型 (APM) 提供非同步計算的。

AwaitEvent

建立者加入事件的處理常式會等候單一的引動過程的.NET Framework 事件的非同步計算。 當計算完成或取消,處理常式會移除來自事件。

AwaitIAsyncResult

建立一個非同步計算,等候提供 IAsyncResult

AwaitTask

傳回非同步的計算,等候完成指定的工作,並傳回它的結果。

AwaitWaitHandle

建立一個非同步計算,等候提供 WaitHandle

CancelDefaultToken

最近的非同步計算一組取消條件沒有任何特定的 所啟動的引發 CancellationToken 取代全域 」 CancellationTokenSource與新全域的語彙基元來源沒有任何特定的情況下建立任何非同步計算 CancellationToken

CancellationToken

建立一個非同步計算,傳回 CancellationToken,管理執行 計算。

Catch

建立一個非同步計算。 如果成功地完成這個計算,這個方法就會傳回 Choice1Of2與 傳回的值。 如果在它完成之前,此計算會引發例外狀況,這個方法就會傳回 Choice2Of2與 引發的例外狀況。

DefaultCancellationToken

取得語彙基元預設取消執行中的非同步計算。

FromBeginEnd <'T>

藉由指定一開始,並結束像.NET Framework API 的函數,會建立一個非同步計算。

FromBeginEnd < 'Arg1,' T >

藉由指定一開始,並結束像.NET Framework API 的函數,會建立一個非同步計算。 如果作業限定的一個引數,則應該使用這個多載。

FromBeginEnd < 'Arg1,' Arg2,' T >

藉由指定一開始,並結束像.NET Framework API 的函數,會建立一個非同步計算。 如果作業限定的兩個引數,則應該使用這個多載。

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

藉由指定一開始,並結束像.NET Framework API 的函數,會建立一個非同步計算。 如果作業由三個引數限定,應該使用這個多載。

FromContinuations

建立一個包含目前的 [成功]、 [例外狀況],] 和 [取消] continuations 的非同步計算。 回呼函式必須最後呼叫其中一個指定的 continuations。

Ignore

建立會執行所指定計算並忽略其結果的非同步計算。

OnCancel

產生具有範圍、合作式的取消處理常式,以用於非同步工作流程內。

Parallel

建立執行所有提供非同步計算,一開始佇列工作項目為每一個與使用分叉/聯結模式的非同步計算。

RunSynchronously

執行非同步的計算,並等待其結果。

睡眠

建立暫停的指定時間的非同步計算。 ,Timer物件用來排程中 的延遲。 作業並不會封鎖作業系統執行緒延遲的時間期間。

啟動

開始非同步的計算,執行緒集區中。 不會等到其結果。

StartAsTask

在執行緒集區中執行計算。 傳回 Task,一旦計算結束 (產生結果、擲回例外狀況或被取消) 此項目就會完成對應的狀態。如果未提供取消語彙基元,則會使用預設的取消語彙基元。

StartChild

啟動非同步工作流程內的子計算。 這允許同時執行多個非同步計算。

StartChildAsTask

建立非同步計算,這個計算會將指定的計算當做 Task 開始執行。

StartImmediate

直接從目前的作業系統執行緒開始,傳回非同步計算。

StartWithContinuations

直接從目前的作業系統執行緒開始,傳回非同步計算。 當作業完成時,這個方法會呼叫其中一個三個 continuations。

SwitchToContext

建立一個非同步計算執行其註解的接續使用 Post()方法 提供同步處理內容。 如果提供的同步處理內容是 null、 非同步計算就等於 的 SwitchToThreadPool

SwitchToNewThread

建立非同步計算,這個計算會建立新執行緒並在該執行緒中執行其接續。

SwitchToThreadPool

建立非同步計算,這個計算將執行其接續的工作項目列入佇列。

TryCancelled

建立執行所提供的計算的非同步計算。 如果在它完成之前,已取消這個計算,執行所提供的補償函式在執行產生的計算。

平台

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

版本資訊

F# 執行階段

支援版本:2.0、4.0

Silverlight

支援版本:3

請參閱

參考

Microsoft.FSharp.Control 命名空間 (F#)

非同步工作流程 (F#)

Control.Async<'T> 型別 (F#)