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: Asynchronous Programming Model) を実装するために使用できる 3 つの関数を作成します。

AwaitEvent

イベントにハンドラーを追加することによって、.NET Framework イベントの 1 回の呼び出しを待機する非同期計算を作成します。 計算が完了するか取り消されると、イベントからハンドラーが削除されます。

AwaitIAsyncResult

指定された IAsyncResult を待機する非同期計算を作成します。

AwaitTask

指定されたタスクが完了するまで待機してその結果を返す非同期計算を返します。

AwaitWaitHandle

指定された WaitHandle を待機する非同期計算を作成します。

CancelDefaultToken

特定の CancellationToken なしで開始した最新の非同期計算のセットに対してキャンセル状態を発生させます。 この時点以降に CancellationToken を指定せずに作成されるすべての非同期計算について、グローバル CancellationTokenSource を新しいグローバル トークン ソースに置き換えます。

CancellationToken

計算の実行を管理する CancellationToken を返す非同期計算を作成します。

Catch

非同期計算を作成します。 この計算が正常に終了した場合は、戻り値を示す Choice1Of2 を返します。 この計算が終了する前に例外が発生した場合は、発生した例外を示す Choice2Of2 を返します。

DefaultCancellationToken

非同期計算を実行するための既定のキャンセル トークンを取得します。

FromBeginEnd<'T>

.NET Framework API など、開始関数と終了関数を指定して非同期計算を作成します。

FromBeginEnd<'Arg1,'T>

.NET Framework API など、開始関数と終了関数を指定して非同期計算を作成します。 操作を 1 つの引数で修飾する場合は、このオーバーロードを使用する必要があります。

FromBeginEnd<'Arg1,'Arg2,'T>

.NET Framework API など、開始関数と終了関数を指定して非同期計算を作成します。 操作を 2 つの引数で修飾する場合は、このオーバーロードを使用する必要があります。

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

.NET Framework API など、開始関数と終了関数を指定して非同期計算を作成します。 操作を 3 つの引数で修飾する場合は、このオーバーロードを使用する必要があります。

FromContinuations

現在の成功、例外、およびキャンセルの継続を含む非同期計算を作成します。 コールバック関数は、最終的に、指定された継続のうちの 1 つだけを呼び出す必要があります。

Ignore

指定された計算を実行し、その結果を無視する非同期計算を作成します。

OnCancel

非同期ワークフロー内で使用するための、スコープが設定された連携可能なキャンセル ハンドラーを生成します。

Parallel

指定されたすべての非同期計算を実行する非同期計算を作成します。最初にそれぞれを作業項目としてキューに入れ、fork/join パターンを使用します。

RunSynchronously

非同期計算を実行し、その結果を待機します。

Sleep

指定した時間一時停止する非同期計算を作成します。 Timer オブジェクトは、遅延をスケジュールするために使用します。 この操作では、遅延中にオペレーティング システム スレッドがブロックされることはありません。

Start

スレッド プールの非同期計算を開始します。 結果を待機しません。

StartAsTask

スレッド プールで計算を実行します。 計算が終了したときに対応する状態で完了する (結果を生成する、例外をスローする、またはキャンセルされる) Task を返します。キャンセル トークンが指定されていない場合は、既定のキャンセル トークンが使用されます。

StartChild

非同期ワークフロー内で子計算を開始します。 これにより、複数の非同期計算を同時に実行できます。

StartChildAsTask

指定された計算を Task として開始する非同期計算を作成します。

StartImmediate

非同期計算を実行し、現在のオペレーティング システムのスレッドですぐに開始します。

StartWithContinuations

非同期計算を実行し、現在のオペレーティング システムのスレッドですぐに開始します。 このメソッドは、操作の終了時に 3 つの継続のうちの 1 つを呼び出します。

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

参照

参照

非同期ワークフロー (F#)

その他の技術情報

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

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