基于事件的异步的定义编程模式的概念?

  5、AsyncOperation类是通过SynchronizationContext类来实现在各种應用程序的适当“线程或上下文”调用客户端事件处理程序

  基于事件的异步模式的特征

  1、基于事件的异步模式可以采用多种形式,具体取决于某个特定类支持操作的复杂程度:

  1)最简单的类可能只有一个 ***Async方法和一个对应的 ***Completed 事件以及这些方法的同步版本。

  2)复杂的类可能有若干个 ***Async方法每种方法都有一个对应的 ***Completed 事件,以及这些方法的同步版本

  4)如果您的类支持多个异步方法,每个異步方法返回不同类型的数据您应该:

  a)将您的增量结果报告与您的进度报告分开。

  b)使用适当的EventArgs为每个异步方法定义一个单獨的 ***ProgressChanged事件以处理该方法的增量结果数据

  5)如果类不支持多个并发调用,请考虑公开IsBusy属性

  2、如果你的组件要支持多个异步耗时嘚任务并行执行。那么:

  1)为***Async方法多添加一个userState对象参数(此参数应当始终是***Async方法签名中的最后一个参数)用于跟踪各个操作的生存期。

  2)注意要在你构建的异步类中维护一个userState对象的集合使用 lock 区域保护此集合,因为各种调用都会在此集合中添加和移除userState对象


我要回帖

更多关于 异步的定义 的文章

 

随机推荐