- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Mcad学习笔记之异步编程(AsyncCallback委托,IAsyncResult接口,BeginInvoke方法,EndInvoke方法的使用小总结)
相关文章导航
Sql Server2005 Transact-SQL 新兵器学习总结之-总结
Flex,Fms3相关文章索引
FlexAir开源版-全球免费多人视频聊天室,免费网络远程多人视频会议系统((Flex,Fms3联合开发))视频聊天,会议开发实例8
?
让我们来看看同步异步的区别:同步方法调用在程序继续执行之前需要等待同步方法执行完毕返回结果异步方法则在被调用之后立即返回以便程序在被调用方法完成其任务的同时执行其它操作.NET框架基类库中有好几种类都可以提供同步和异步的方法调用。因为同步方法调用会导致程序流程中途等待,所以采用同步方法的情况下往往会导致程序执行的延迟相比来说,在某些条件下选择异步方法调用就可能更好一些例如,有的时候程序需要给多个Web服务发出请求,还有远程处理信道(HTTP、TCP)和代理,这时就最好采用异步方法.NET Framework允许异步调用任何方法,定义与需要调用的方法具有相同签名的委托CLR将自动为该委托定义添加适当签名的BeginInvoke虚方法和EndInvoke虚方法和Invoke方法。关于委托的这3个方法的详细说明可以参考这文章/aierong/archive/2005/05/25/162181.html
我们先来了解这2个方法和一个委托和一个接口:(1)BeginInvoke 方法可启动异步调用。它与您需要异步执行的方法具有相同的参数,另外它还有两个可选参数。第一个参数是一个 AsyncCallback 委托,该委托引用在异步调用完成时要调用的方法。第二个参数是一个用户定义的对象,该对象可向回调方法传递信息。BeginInvoke 立即返回,不等待异步调用完成。BeginInvoke 会返回 IAsyncResult,这个结果可用于监视异步调用进度。
结果对象IAsyncResult是从开始操作返回的,并且可用于获取有关异步开始操作是否已完成的状态。结果对象被传递到结束操作,该操作返回调用的最终返回值。在开始操作中可以提供可选的回调。如果提供回调,在调用结束后,将调用该回调;并且回调中的代码可以调用结束操作。(2)EndInvoke 方法检索异步调用的结果。调用 BeginInvoke 后可随时调用 EndInvoke 方法;如果异步调用尚未完成,EndInvoke 将一直阻止调用线程,直到异步调用完成后才允许调用线程执行。EndInvoke 的参数包括您需要异步执行的方法的 out 和 ref 参数以及由 BeginInvoke 返回的 IAsyncResult。(3)AsyncCallback委托用于指定在开始操作完成后应被调用的方法AsyncCallback委托被作为开始操作上的第二个到最后一个参数传递代码原型如下:[Serializable]public delegate void AsyncCallback(IAsyncResult ar);AsyncCallback为客户端应用程序提供完成异步操作的方法。开始异步操作时,该回调委托被提供给客户端。AsyncCallback 引用的事件处理程序包含完成客户端异步任务的程序逻辑。AsyncCallback 使用 IAsyncResult 接口获取异步操作的状态。(4)IAsyncResult接口它表示异步操作的状态.该接口定义了4个公用属性代码原型如下:public interface IAsyncResult实际上,发起和完成.NET异步调用有4种方案可供你选择1.方案1-使用EndInvoke等待异步调用异步执行方法最简单的方式是通过调用委托的 BeginInvoke 方法来开始执行方法,在主线程上执行一些工作,然后调用委托的 EndInvoke 方法。EndInvoke 可能会阻止调用线程,因为它直到异步调用完成之后才返回。这种技术非常适合文件或网络操作,但是由于 EndInvoke 会阻止它,所以不要从服务于用户界面的线程中调用它。
还是先来段自己喜欢的控制台代码:
?1using?System;?2?3namespace?ConsoleApplication1?4{?5????class?Class1?6????{?7????????public?delegate?void?AsyncEventHandler();?8?9????????void?Event1()10????????{11????????????Console.Writ
您可能关注的文档
- JB-T_9170-1998_工艺流程图表用图形符号.pdf
- JGJ120-2015建筑基坑支护技术规程word版.pdf
- JGJ120-99-建筑基坑支护规程.pdf
- JGJ120-99_建筑基坑支护技术规程.pdf
- JTT 27.46-1993 交通行业工人技术等级标准 公路运输与公路养护 公路沥青操作工.pdf
- led制造工艺流程~.pdf
- LED发光字 外露发光 字各系列制作工艺流程及价格! Word 文档.pdf
- LED点阵屏学习攻略.pdf
- LLC杨波博士论文的翻译(必威体育精装版).pdf
- LNG二泵四机工艺流程图.pdf
- 2024年度民主生活会个人对照检查材料(带头增强党性、严守纪律、砥砺作风方面)+带头增强党性、严守纪律、砥砺作风方面存在的主要问题.doc
- 2024-2025年民主生活会、组织生活会的批评与自我批评+民主生活会会前集中学习研讨体会.doc
- 市委书记在2025年中秋国庆节前廉政谈话会上的讲话在2025年中秋国庆节前廉政谈话.doc
- 2024年度民主生活会存在问题及不足之处+2024年度民主生活会“向下”批评意见清单.doc
- 2篇 2024年民主生活会个人对照检查发言材料(四个带头).doc
- 范文 在2025年春节前廉政谈话暨春节期间重点工作部署会议上的讲话.doc
- 2024-2025年关于意识形态专题党课讲稿、宣讲报告.doc
- 区长、局一把手2024年个人政治画像报领导干部政治画像自评材料.doc
- 理论武装方面存在问题及整改措施+第二批主题教育六个方面问题查摆、原因分析、整改措施.docx
- 2024年度民主生活会领导班子对照检查材料(四个带头)+带头增强党性、严守纪律、砥砺作风方面存在的主要问题.doc
文档评论(0)