编程方法及.NET框架实现概述.pdfVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

同步方法调用在程序继续执行之前需要等待同步方法执行完毕返回结果

异步方法则在被调用立即返回以便程序在被调用方法完成其任务的同时执行其它操作

异步编程概览

.NETFramework允许您异步调用任何方法。定义与您需要调用的方法具有相同签名的委托;

公共语言运行库将自动为该委托定义具有适当签名

的BeginInvoke和EndInvoke方法。

BeginInvoke方法用于启动异步调用。它与您需要异步执行的方法具有相同的参数,只不过

还有两个额外的参数(将在稍后描述)。

BeginInvoke立即返回,不等待异步调用完成。

BeginInvoke返回IasyncResult,可用于监视调用进度。

EndInvoke方法用于检索异步调用结果。调用BeginInvoke后可随时调用EndInvoke方

法;如果异步调用未完成,EndInvoke将一直阻塞到

异步调用完成。EndInvoke的参数包括您需要异步执行的方法的out和ref参数(在

VisualBasic中为OutByRef和ByRef)以及由

BeginInvoke返回的IAsyncResult。

四种使用BeginInvoke和EndInvoke进行异步调用的常用方法。调用了BeginInvoke后,

可以:

1.进行某些操作,然后调用EndInvoke一直阻塞到调用完成。

2.使用IAsyncResult.AsyncWaitHandle获取WaitHandle,使用它的WaitOne方法将执行

一直阻塞到发出WaitHandle信号,然后调用

EndInvoke。这里主要是主程序等待异步方法,等待异步方法的结果。

3.轮询由BeginInvoke返回的IAsyncResult,IAsyncResult.IsCompeted确定异步调用何

时完成,然后调用EndInvoke。此处理个人认为与

相同。

4.将用于回调方法的委托传递给BeginInvoke。该方法在异步调用完成后在ThreadPool线

程上执行,它可以调用EndInvoke。这是在强制装

换回调函数里面IAsyncResult.AsyncState(BeginInvoke方法的最后一个参数)成委托,然

后用委托执行EndInvoke。

警告始终在异步调用完成后调用EndInvoke。

异步操作的优缺点

因为异步操作无须额外的线程负担,并且使用回调的方式进行处理,在设计良好的情况

下,处理函数可以不必使用共享变量(即使无法完全不用,最起码可以减少共享变量的数量),

需要同步方法来执行程序,然后才能继续执行。

异步编程概述

.NETFramework允许您使用相同的方法。公共语终设计库将设计的设计委托委托设计的

设计安全设计

的BeginInvoke和EndInvoke方法。

BeginInvoke方法用于发起调用。它与您需要实现的方法具有相同的参数,但有两个附加参数

(稍后将介绍)。

BeginInvoke返回一个IasyncResult,可用于监视调用。

endInvoke方法用于检索异步歌正歌机。endInvokeBeginInvoke后但是此EndInvoke

方法;如何异步歌歌未全于,EndInvoke将用线校塞到

EndInvoke的参数包括你需要执行异步out和ref参数的方法(在VisualBasic中的

OutByRef和ByR

您可能关注的文档

文档评论(0)

guchengyong + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档