Robin's Blog

记录 积累 学习 成长

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

在等待异步操作结果的同时可以进行其他工作的应用程序不应在操作完成之前阻止等待。可以使用下列方法之一来在等待异步操作完成的同时继续执行指令。

示例

下面的代码示例演示如何使用 Dns 类中的异步方法来检索用户指定的计算机的域名系统信息。此示例开始异步操作,然后在控制台输出句点(“.”),直到操作完成。请注意,示例中为 BeginGetHostByNameAsyncCallbackObject 参数传递了 null(在 Visual Basic 中为 Nothing),因为在使用此方法时不需要这两个参数。

Code

 


下面的例子是同时执行多个异步操作,类似于多线程,要处理好并好,使用了Interlocked.Increment(requestCounter)/Interlocked.Decrement(requestCounter)

原子唯一性操作,(即不可中断的一个或一列系操作)

AsyncCallback 委托在一个单独的线程中处理异步操作的结果。AsyncCallback 委托表示在异步操作完成时调用的回调方法。回调方法采用 IAsyncResult 参数,该参数随后可用来获取异步操作的结果。

有关异步编程的更多信息,请参见异步编程设计模式中的使用 AsyncCallback 委托结束异步操作使用 AsyncCallback 委托和状态对象

下面的代码示例演示在 Dns 类中如何使用异步方法来检索用户所指定计算机的域名系统 (DNS) 信息。此示例创建一个引用 ProcessDnsInformation 方法的 AsyncCallback 委托。对于 DNS 信息的每个异步请求,都调用一次此方法。

Code

posted on 2009-02-26 17:08  Robin99  阅读(1527)  评论(0)    收藏  举报