- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用Async和Await的异步编程(C#和VisualBasic)使用Async和Await的异步编程(C#和VisualBasic).doc
为什么使用Asynchrony?
使用异步编程时,可以在可能需要长时间运行的代码指定点处理挂起,当程序的其他部分无法继续时。 此技术来避免可能的性能瓶颈并增强应用程序的总体响应能力。 Asynchrony到可能会阻塞事件很重要,例如,当程序访问该web。 如果该事件在块同步过程,整个程序块。 在异步,则当阻塞任务完成其工作时,进程,程序可以取得进展在其他方面。
因为所有与用户界面相关的事件通常共享一个线程,Asynchrony尤其重要的进程访问UI线程。 如果任何处理块,所有块。
对于块的示例中通过“测试同步解决方案”节处理,按照 HYPERLINK "/zh-CN/library/Vstudio/hh300224"演练:使用 Async 和 Await 访问 Web(C# 和 Visual Basic) 的步骤。 或者,您可以下载演练中的代码从 HYPERLINK "/fwlink/?LinkId=255191"Async示例:访问Web演练 并运行名为SyncWalkthrough的项目。 当用户界面线程同步下载从web中的内容,无法移动控件或调整窗口的大小。 如果您不希望等待,不能即使关闭它关闭程序。
使用异步和请等待创建异步解决方案
HYPERLINK "/zh-CN/library/Vstudio/hh191564"Async (Visual Basic)或 HYPERLINK "/zh-CN/library/Vstudio/hh156513"async (C#)修饰符和 HYPERLINK "/zh-CN/library/Vstudio/hh191564"等待 (Visual Basic)或 HYPERLINK "/zh-CN/library/Vstudio/hh156528"等待 (C#)运算符对异步编程是基本的。 async修饰符指示编译器方法或lambda表达式是异步的,并且可以使用请等待运算符指定在方法中悬挂点。 这种方法引用异步方法。
在异步方法中,您可以等待运算符应用于特定任务挂起异步方法的执行,直到等待的任务完成。 同时,控件返回到异步方法的调用方。 保存并不构成从异步方法的退出,并且,finally 块不会运行。
编译器实现用于开发人员执行,包括注册挂起的方法中完成的延续的困难工作。 因此,异步代码容易编写,并且,如果您的程序保留类似于同步代码的逻辑结构。 例如,某些实例处理,例如循环,而异常处理,可能很难进行在传统异步代码编写。 在异步??法,解决您编写这些元素,因为在一个同步解决方案会并将问题。 有关asynchrony以前的方法的更多信息在.NET Framework,请参见 HYPERLINK "/zh-CN/library/Vstudio/dd997423"TPL 和传统 .NET 异步编程。
.NET Framework 4.5 包含与异步以及等待的许多成员。 您可以通过附加到成员名称和 HYPERLINK "/zh-CN/library/Vstudio/system.threading.tasks.task"Task 或 HYPERLINK "/zh-CN/library/Vstudio/dd321424"Task<TResult>的返回类型“Async”后缀识别这些成员。 例如,System.IO.Stream选件类包含方法例如 HYPERLINK "/zh-CN/library/Vstudio/system.io.stream.copytoasync"CopyToAsync、HYPERLINK "/zh-CN/library/Vstudio/system.io.stream.readasync"ReadAsync和 HYPERLINK "/zh-CN/library/Vstudio/system.io.stream.writeasync"WriteAsync 在同步方法 HYPERLINK "/zh-CN/library/Vstudio/system.io.stream.copyto"CopyTo、HYPERLINK "/zh-CN/library/Vstudio/system.io.stream.read"Read和 HYPERLINK "/zh-CN/library/Vstudio/system.io.stream.write"Write。
示例
下面的示例通过比较同步编写与方法相同的方法声明此方法很简单,如果已编写以异步方式。 有关完整的示例,请参见HYPERLINK "/zh-CN/library/Vstudio/hh300224"演练:使用 Async 和 Await 访问 We
您可能关注的文档
- 传感器与检测技术A.doc
- 传感器与测试技术课程设计.doc
- 传感器设计题目.doc
- 传播学复习材料.doc
- 传染病学复习大纲.doc
- 传染病报告管理常规督导工作方案.doc
- 传输接入类技术介绍.doc
- 传输电缆温度监测报警系统.doc
- 传输线路施工规范.doc
- 传输设备-单选容易题(71题).doc
- GB/T 29324-2024架空导线用碳纤维增强复合材料芯.pdf
- 《GB/T 29324-2024架空导线用碳纤维增强复合材料芯》.pdf
- GB/T 43905.1-2024焊接及相关工艺中烟尘和气体取样的实验室方法 第1部分:电弧焊中烟尘排放速率的测定和分析用烟尘的收集.pdf
- 《GB/T 43905.1-2024焊接及相关工艺中烟尘和气体取样的实验室方法 第1部分:电弧焊中烟尘排放速率的测定和分析用烟尘的收集》.pdf
- 中国国家标准 GB/T 43905.1-2024焊接及相关工艺中烟尘和气体取样的实验室方法 第1部分:电弧焊中烟尘排放速率的测定和分析用烟尘的收集.pdf
- 中国国家标准 GB/T 18910.21-2024液晶显示器件 第2-1部分:无源矩阵单色液晶显示模块 空白详细规范.pdf
- GB/T 18910.21-2024液晶显示器件 第2-1部分:无源矩阵单色液晶显示模块 空白详细规范.pdf
- 《GB/T 18910.21-2024液晶显示器件 第2-1部分:无源矩阵单色液晶显示模块 空白详细规范》.pdf
- GB/T 43860.1220-2024触摸和交互显示 第12-20部分:触摸显示测试方法 多点触摸性能.pdf
- 中国国家标准 GB/T 43860.1220-2024触摸和交互显示 第12-20部分:触摸显示测试方法 多点触摸性能.pdf
文档评论(0)