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#)。
靜態成員
成員 |
描述 |
---|---|
建立三個函式,可用於針對提供的非同步計算來實作 .NET Framework 非同步程式設計模型 (APM)。 |
|
建立非同步計算,該計算會透過將處理常式加入至事件,等待單一叫用 .NET Framework 事件。 當計算完成或取消時,會從事件中移除處理常式。 |
|
建立會等待所提供之 IAsyncResult 的非同步計算。 |
|
傳回非同步計算,這個計算會等候指定的計算完成並傳回其結果。 |
|
建立會等待所提供之 WaitHandle 的非同步計算。 |
|
針對最近已啟動但沒有任何特定 CancellationToken 的一組非同步計算,引發取消條件。 針對在此之後建立但沒有任何特定 CancellationToken 的任何非同步計算,以新的全域語彙基元來源取代全域 CancellationTokenSource。 |
|
建立非同步計算,這個計算會傳回管理計算執行的 CancellationToken。 |
|
建立非同步計算。 如果成功完成這次計算,此方法會傳回含傳回值的Choice1Of2。 如果這個計算在完成之前引發例外狀況,此方法會傳回具有所引發例外狀況的 Choice2Of2。 |
|
取得用來執行非同步計算的預設取消語彙基元。 |
|
指定開始和結束函式 (例如 .NET Framework API),以建立非同步計算。 |
|
指定開始和結束函式 (例如 .NET Framework API),以建立非同步計算。 如果透過一個引數來限定作業,則應該使用這個多載。 |
|
指定開始和結束函式 (例如 .NET Framework API),以建立非同步計算。 如果作業是以兩個引數來限定,則應使用這個多載。 |
|
指定開始和結束函式 (例如 .NET Framework API),以建立非同步計算。 如果作業是以三個引數來限定,則應使用這個多載。 |
|
建立非同步計算,這個計算比較目前的成功、例外狀況和取消接續。 回呼函式最後必須剛好呼叫其中一個指定的接續。 |
|
建立會執行所指定計算並忽略其結果的非同步計算。 |
|
產生具有範圍、合作式的取消處理常式,以用於非同步工作流程內。 |
|
建立非同步計算,這個計算會執行所有提供的非同步計算,一開始會將每個計算都佇列為工作項目並使用分岔/聯結模式。 |
|
執行非同步計算並等待其結果。 |
|
建立會在暫停指定時間的非同步計算。 Timer物件,用來排定延遲。 該作業不會將作業系統執行緒封鎖長達延遲時間之久。 |
|
在執行緒集區中啟動非同步計算。 不等待它的結果。 |
|
在執行緒集區中執行計算。 傳回 Task,一旦計算結束 (產生結果、擲回例外狀況或被取消) 此項目就會完成對應的狀態。如果未提供取消語彙基元,則會使用預設的取消語彙基元。 |
|
啟動非同步工作流程內的子計算。 這允許同時執行多個非同步計算。 |
|
建立非同步計算,這個計算會將指定的計算當做 Task 開始執行。 |
|
直接從目前的作業系統執行緒開始,傳回非同步計算。 |
|
直接從目前的作業系統執行緒開始,傳回非同步計算。 作業完成時,這個方法會呼叫三個接續項目的其中一個。 |
|
建立非同步計算,此計算會使用提供之同步內容的 Post 方法執行接續。 如果提供的同步內容是null,非同步計算相當於SwitchToThreadPool。 |
|
建立非同步計算,這個計算會建立新執行緒並在該執行緒中執行其接續。 |
|
建立非同步計算,這個計算將執行其接續的工作項目列入佇列。 |
|
建立會執行所提供之計算的非同步計算。 如果這個計算在完成之前遭到取消,則會透過執行提供的補償函式產生計算。 |
平台
Windows 8 中, Windows 7, Windows Server 2012 上, Windows Server 2008 R2
版本資訊
F# 核心程式庫版本
支援版本:2.0, 4.0,可攜式執行檔 (PE)。