AS P.NETC#2008项目开发案例教程课件作者郎登何第12章节.pptVIP

AS P.NETC#2008项目开发案例教程课件作者郎登何第12章节.ppt

  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文档。上传文档
查看更多
第12章 线程异步编程及平台调用 12.1?线程介绍 12.1?线程介绍 12.1?线程介绍 12.1?线程介绍 12.1?线程介绍 12.1?线程介绍 一些概念 12.2 C#.NET对线程的支持 12.3线程安全 12.3线程安全 12.4 线程的特殊主题 12.4 线程的特殊主题 12.4 线程的特殊主题 12.4 线程的特殊主题 12.4 线程的特殊主题 12.4 线程的特殊主题 12.4 线程的特殊主题 12.4 线程的特殊主题 12.4 线程的特殊主题 12.4 线程的特殊主题 12.4 线程的特殊主题 12.4 线程的特殊主题 12.5 .net中的异步编程 案例步骤 12.5 .net中的异步编程 12.6 集成服务 12.6 集成服务 4.服务器端的文件服务器FileServer类的使用方法: FileServer fs = new FileServer(“d:\\download”); fs.start(); // 端口为1234 5.客户端的使用如果d:download目录中有一个叫aa.exe的文件,在浏览器中输入如下的地址可下载: http://localhost:1234/aa.exe 12.6 集成服务 12.7平台调用 12.7平台调用 12.8 思考练习题 1.请编写代码统计cpu的利用率。 2.编写代码,利用线程实现文件拷贝时的进度条功能。 3.请问怎样避免多线程运行时的资源访问冲突。 4.请问怎样启动异步调用,怎样等待异步调用? 5.请编写一个异步调用的实例。 6.请编写代码实现多线程文件下载,并随时统计服务器负载。 案例思考: 请查阅.net调用非托管代码的垃圾回收机制方面的资料。 尚辅网 / 重庆电子工程职业学院 教学目标 掌握线程概念 了解C#.NET对线程的支持 了解线程安全 了解线程的特殊主题 掌握.net中的异步编程 掌握集成服务 掌握平台调用 图12-2是系统当前运行的进程的列表,可以看出当前有许多进程正在运行。 一个应用程序可能和一个或者多个进程关联,但是每个进程都有自己独立的 数据、执行代码和系统资源。 例12-1 使用wmi获取父进程id,进程创建者 例12-2:使用性能计数器计算cpu利用率: (1)计算过程 通过计数器获取idle空闲进程cpu占用率r1; 通过process类的TotalProcessorTime属性获取各进程的cpu时间,求和, 得各进程(除空闲进程idle,该进程无法通过process类获得cpu时间) cpu时间和t1; 通过t1/(100-r1)得到总cpu时间t; 对各进程,通过TotalProcessorTime获得进程cpu时间tnew, 计算:(Tnew-told)/t,即得该进程的cpu占用率,其中told是程序中记录的 该进程上一次的TotalProcessorTime。 使用多线程处理,可以在 Visual C# .NET 应用程序中同时执行多项任务。 多线程处理可以启动不同的线程来同时完成不同的任务。多线程还可经改进 应用程序的性能和响应能力。 因为多个线程可以同时访问某一资源,所以可能需要将各个线程与程序的其 他部分同步。本章介绍了多线程编程的一些常见情况,并说明了如何在多个线 程之间同步对共享资源的访问。 有关例子:(略) 思考: 请将上述控制台程序改成一个Web应用程序,赋予客户端对某一资源 文件的修改权限。其中修改的功能就是将该文件锁定,然后进行修改后进 行上传。要求:文件被锁定时其他用户不能查看或者修改该文件。 案例思考: 请反复实践和思考上述案例中提到的代码。 2.使用 EndInvoke 等待异步调用 3.使用 WaitHandle 等待异步调用 4.轮询异步调用完成 案例思考: 请将案例中的代码同案例扩展中的代码组合起来运行,并思考线 程异步编程的本质。 在C#中可以通过System.Threading.ThreadPool类来实现, 在默认情况下,ThreadPool最大可建立500个工作线程和1000个I/O线程 (根据机器CPU个数和.net framework版本的不同,这些数据可能会 有变化)。 2.运行程序 3.设计一个下载文件服务器的例子 2. 参数传递

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档