摘要: 异步调用并不是要减少线程的开销, 它的主要目的是让调用方法的主线程不需要同步等待在这个函数调用上, 从而可以让主线程继续执行它下面的代码.与此同时, 系统会通过从ThreadPool中取一个线程来执行,帮助我们将我们要写/读的数据发送到网卡.由于不需要我们等待, 我们等于同时做了两件事情. 这个效果跟自己另外启动一个线程来执行等待方式的写操作是一样的.但是, 异步线程可以利用操作系统/.Net的线... 阅读全文
posted @ 2009-12-28 23:17 冰封的心 阅读(549) 评论(0) 推荐(0) 编辑
摘要: 原文:http://threading.cnblogs.com/archive/2004/07/02/20579.aspx最近看了看.NET异步调用方面的资料,现择重点总结,若有纰漏敬请指正。异步调用的实质:异步调用通过委托将所需调用的方法置于一个新线程上运行,从而能够使一个可能需要较长时间的任务在后台执行而不影响调用方的其他行为。异步调用的实现:前面已经讲道,异步调用通过委托实现。委托支持同步和... 阅读全文
posted @ 2009-12-28 23:15 冰封的心 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 原文:http://www.cnblogs.com/xiaoli0414/archive/2007/11/27/974534.html我们要明确,为什么要进行异步回调?众所周知,普通方法运行,是单线程的,如果中途有大型操作(如:读取大文件,大批量操作数据库,网络传输等),都会导致方法阻塞,表现在界面上就是,程序卡或者死掉,界面元素不动了,不响应了。异步方法很好的解决了这些问题,异步执行某个方法,程... 阅读全文
posted @ 2009-12-28 23:14 冰封的心 阅读(679) 评论(0) 推荐(0) 编辑
摘要: 原文:http://www.cnblogs.com/carysun/archive/2009/12/28/AsyncInvoke.html1.关于委托的BeginInvoke和EndInvoke方法.NET Framework 允许您异步调用任何方法。为此,应定义与您要调用的方法具有相同签名的委托;公共语言运行库会自动使用适当的签名为该委托定义 BeginInvoke 和 EndInvoke 方法... 阅读全文
posted @ 2009-12-28 23:07 冰封的心 阅读(527) 评论(0) 推荐(0) 编辑