C# WinForm实践开发教程 -钱哨 chp5.多线程编程技术.ppt

C# WinForm实践开发教程 -钱哨 chp5.多线程编程技术.ppt

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
--------------基于C#语言 主讲教师:钱 哨 本课学时:72课时 联系方式:qianshao@ 第五章、多线程编程技术 理解线程的概念 理解.NET中线程的属性和方法 创建和使用线程 理解线程的特点、优点及使用场合 5.1 线程简介 5.1 线程简介 5.1 线程简介 进程:是应用程序的一个运行例程,是应用程序的一次动态执行过程。 线程:是进程中的一个执行单元;是操作系统分配CPU时间的基本单元。 Windows是一个支持多线程的系统。 一个进程可以包含若干个线程。 5.1 线程简介 5.1 线程简介 多线程:在同一时间执行多个任务的功能,称为多线程或自由线程。 多线程的优点:可以同时完成多个任务;可以使程序的响应速度更快;可以让占用大量处理时间的任务或当前没有进行处理的任务定期将处理时间让给别的任务;可以随时停止任务;可以设置每个任务的优先级以优化程序性能。 多线程的缺点: 对资源的共享访问可能造成冲突(对共享资源的访问进行同步或控制) ;程序的整体运行速度减慢等等。 5.2 System.Threading 命名空间 5.2 System.Threading 命名空间 在.NET程序设计中,线程是使用Thread类(或Timer类(线程计数器)、ThreadPool类(线程池))来处理的,这些类在System.Threading命名空间中: using System.Threading; Thread类:(实现线程的主要方法)一个Thread实例管理一个线程,即执行序列。通过简单实例化一个Thread对象,就可以创建一个线程,然后通过Thread对象提供的方法对线程进行管理。 Timer类:适用于间隔性的完成任务。 ThreadPool类:适用于多个小的线程。 1、Thread 类的属性和方法 1、Thread 类的属性和方法 2、线程的生命周期 5.3 线程的建立与启动 5.3 线程的建立与启动 5.3 线程的建立与启动 5.3 线程的建立与启动 5.4 线程的优先级 5.4 线程的优先级 5.4 线程的优先级 例题1: 5.4 线程的优先级 5.4 线程的优先级 5.5 线程的同步 5.5 线程的同步 5.5 线程的同步 锁定机制 示例 5.5 线程的同步 5.5 线程的同步 5.5 线程的同步 5.6 线程应用实例 总结 线程是在共享内存空间中并发的多道执行路径 在 C# 中,是使用 System.Threading 命名空间中的 Thread 类来创建线程的 线程优先级可以更改为 ThreadPriority 枚举中定义的一个值 C# 中的 lock 关键字是实现线程同步的一种方法 同步的线程称为安全线程 除非绝对必要,否则不要创建线程安全的代码,因为添加不必要的锁定会降低性能 2、同步时要注意的问题 线程同步非常重要,但只在需要时使用也是非常重要的。因为这会降低性能。原因有两个: 首先,在对象上放置和解开锁会带来某些系统开销,但这些系统开销都非常小。 第二个原因更为重要,线程同步使用得越多,等待释放对象的线程就越多。如果一个线程在对象上放置了一个锁,需要访问该对象的其他线程就只能暂停执行,直到该锁被解开,才能继续执行。 结论: 在lock块内部编写的代码越少越好,以免出现线程同步错误。lock语句在某种意义上就是临时禁用应用程序的多线程功能,也就临时删除了多线程的各种优势。 综合例题1: 通过Process类获取系统进程列表。运行界面如下图所示: * Windows程序设计 在线教务辅导网: 教材其余课件及动画素材请查阅在线教务辅导网 QQ:349134187 或者直接输入下面地址: 本章主要内容介绍 5.1 计算机线程介绍 5.2 System.Threading简介 5.3 线程的优先级与锁技术 CONTENT 本章学习目标: 同时执行所有任务,时间更少,效率更高 人 体 读 ,写 一览无遗 血液循环 在同一时间点执行各项进程 编译程序 发送/接收邮件 打印文件 其他 操作系统允许计算机同时执行多项操作 程序 (进程) 程序 1 程序 2 线程 1 线程 2 线程 3 线程 1 线程 2 线程 3 单独的执行路径 在以下情况中可能要使用到多线程: 程序需要同时执行两个或多个任务 程序要等待某事件的发生,例如用户输入、文件操作、网络操作、有哪些信誉好的足球投注网站等 后台程序 在C#应用程序中,第一个线程总是Main()方法,因为第一个线程是由.NET运行库开始执行的,Main()方法是.NET运行库选择的第一个方法。后续的线程由应用程

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档