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# 以外的 .NET 语言中访问类型,或通过反射访问类型,请使用此名称。

有关异步工作流的概述,请参见异步工作流 (F#)

静态成员

成员

说明

AsBeginEnd

创建三个函数,这些函数可用于实现提供的异步计算的 .NET Framework 异步编程模型 (APM)。

AwaitEvent

创建一个异步计算,该异步计算通过将一个处理程序添加到 .NET Framework 事件来等待对此事件的单个调用。 完成或取消计算后,将从此事件中移除该处理程序。

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)创建异步计算。 如果操作由一个参数进行限定,则应使用此重载。

FromBeginEnd <'Arg1,'Arg2,'T>

通过指定开始和结束函数(如 .NET Framework API)创建异步计算。 如果操作由两个参数进行限定,则应使用此重载。

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

通过指定开始和结束函数(如 .NET Framework API)创建异步计算。 如果操作由三个参数进行限定,则应使用此重载。

FromContinuations

创建一个包括当前的成功、异常和取消延续任务的异步计算。 该回调函数最终必须正好调用给定的延续任务中的一个。

忽略

创建一个运行给定计算并忽略其结果的异步计算。

OnCancel

生成一个限定范围的协作取消处理程序,以便在异步工作流内使用。

Parallel

创建一个运行所有提供异步计算的异步计算,它先将每个异步计算作为工作项进行排队,并使用分离/连接模式。

RunSynchronously

运行异步计算并等待其结果。

Sleep

创建在指定时间暂停的异步计算。 用于计划延迟的 Timer 对象。 在延迟时间内,该操作将不会阻止操作系统线程。

Start

在线程池中启动异步计算。 请不要等待它的结果。

StartAsTask

在线程池中执行计算。 返回一个 Task,一旦计算终止,它将完成到相应状态(生成结果、引发异常或获得取消)。如果未提供取消标记,则将使用默认取消标记。

StartChild

在异步工作流内启动子计算。 这样便可以同时执行多个异步计算。

StartChildAsTask

创建一个将给定计算作为 Task 开始的异步计算。

StartImmediate

从当前操作系统线程开始立即运行异步计算。

StartWithContinuations

从当前操作系统线程开始立即运行异步计算。 操作完成后,此方法将调用这三个延续中的其中一个。

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#)