码迷,mamicode.com
首页 > 编程语言 > 详细

使用异步委托执行线程(delegate)

时间:2014-10-12 02:31:57      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:blog   http   使用   sp   2014   on   log   代码   bs   

由于异步委托产生的线程与应用程序主线程是分开执行的,若主线程要获取异步委托线程的结果,则主线程需要等待异步委托的执行结果。

BeginInvoke是Delegate类型的一个方法,它的返回类型为IAsyncResult,通过该接口,可以获得异步委托的执行信息。

1、投票技术:等待异步委托结果的一种方法是投票技术,该技术的实现原理是通过IAsyncResult接口的IsComplete属性来检查委托是否完成了任务。EndInvote方法获取执行结果。举个例子,如下:

bubuko.com,布布扣

执行后的效果:

bubuko.com,布布扣

2、访问等待句柄技术:是等待异步委托结果的第二种方法,其实也就是使用IAsyncResultAsync接口的AsyncWaitHandle属性来访问等待句柄的,通过该属性获得一个WaitHandle对象,WaitHandle对象有个方法WaitOne()。

代码如下:

bubuko.com,布布扣

执行效果:

bubuko.com,布布扣

 

使用异步委托执行线程(delegate)

标签:blog   http   使用   sp   2014   on   log   代码   bs   

原文地址:http://www.cnblogs.com/jason-davis/p/4019948.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!