摘要:
使用APM执行受计算限制的异步操作 我们可以通过APM来调用任何方法,但首先,我们需要定义一个与我们希望调用的方法拥有相同签名的方法。以计算1至n间总和的方法为例(这是一个计算密集的任务,它不执行任何I/O操作)。private static UInt64 Sum(UInt64 n){ UInt64 sum = 0; for(UInt64 i = 1; i <= n; i++) { checked { //在此使用了checked代码,以便于当结果sum与类型UInt64不符时抛出一个异常 sum +... 阅读全文
摘要:
简介 执行异步操作是构建高性能、可扩展应用程序的关键,它允许我们能够用非常少的线各执行许多操作。MS CLR团队设计了一种模式,可以让开发人员方便地利用这种能力,这种模式称为异步编程模式(APM)。 在FCL中许多类型都支持APM,如下面一些具体例子:所有派生自System.IO.Stream并与硬件设计通信的类都提供了BeginRead和BeginWrite方法。System.Net.Dns类提供了BeginGetHostAddresses、BeginGetHostByName、BeginGetHostEntry和BeginResolve方法。所有派生自System.Net.WebReq.. 阅读全文