- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
10C#面向对象程序设计讲义
基本概念 定义线程的生命周期 实现多线程 识别线程的优先级 多线程中使用同步 单线程程序与多线程程序 线程的生命周期 线程的生命周期 指一个线程从创建到消亡的过程,它分为四个状态: 创建状态 可运行状态 不可运行状态 消亡状态 线程的生命周期 线程的状态转换图: 线程的实现 为线程指定委托 在C#中通过为线程指定一个委托,来指明线程要完成的任务,当线程启动后,委托所指定的方法被调用。 一个例子了解线程的创建。 线程的实现 前台线程和后台线程 两者只有一个区别:后台线程不妨碍程序的中止。 其它线程都依赖主线程,如果所有的前台线程都停止了,那么主线程可以终止,而所有后台线程都将无条件终止。 将IsBackground属性设为false,可以标记一个线程为后台线程。 多线程的同步 一个例子看同步 多线程模拟实现火车站售票系统。 代码存在的问题(一张票卖给了多个人,也可能卖出不存在的票)。 引发错误的原因。 解决方案:多线程同步。 多线程的同步 临界区“critical sections”。 代码同步 公用代码段的互斥,用lock关键字,给共享代码段加锁。 资源同步 公用对象互斥访问,用Monitor类给共享对象加锁。 多线程的同步 生产者和消费者问题(一个综合的例子) 定义一个共享的Cell类。 定义生产者和消费者类。 在主类MonitorSample的Main()中创建两个线程分别作为生产者和消费者,它们对同一个Cell进行读取和写入操作。 对任意一个被Monitor加锁的对象,内存中都保存着与它相关的一些信息。 每一个对象除了有一个锁之外,还有一个等待队列,当一个对象刚创建的时候,它的对待队列是空的。 在当前线程锁住对象的锁后,如果当前线程等待共享资源,可调用Monitor.Wait()。 当调用Monitor.Pulse()时,将从该对象的等待队列中删除第一个线程,这个线程将再次成为可运行的线程。 当调用Monitor.PulseAll()时,将从该对象的等待队列中删除所有等待的线程,这些线程将成为可运行的线程。 Wait和Pulse主要用于producer-consumer这种关系中。 * * --多线程 C#程序设计 主要内容 程序、进程和线程 程序 是计算机指令的集合,它以文件的形式存储在磁盘上。 进程 是一个程序在其自身的地址空间中的一次执行活动。它是资源申请、调度和独立运行的单位。 线程 是进程中的一个单一的连续控制流程。是进程中部分代码的一次执行活动。一个进程可以拥有多个线程。 程序、进程和线程 多进程 操作系统中多个程序同时执行。 多线程 程序中多个片断同时执行,多线程使得一个应用程序将任务划分成几个部分,它们各自独立执行。 进程和线程 线程和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,这使得线程间的通信远较进程简单。 单进程单线程程序 单进程多线程程序 一个线程 两个线程 New Runnable Not Runnable Dead new Thread Start() Sleep()、Wait()、Suspend()、I/O阻塞 Sleep结束、Pulse()、Resume()、I/O操作完成 线程方法退出Abort()调用 Abort()调用 os调度 Wait()、Pulse()和PulseAll() *
您可能关注的文档
最近下载
- 第3课 遍地开花--网络应用的发展+课件+2024—2025学年清华大学版(2024)B版初中信息技术七年级上册.pptx VIP
- 人工智能在设备故障预测中的应用-洞察及研究.docx VIP
- Android Studio从入门到精通(清晰版).pdf VIP
- 北师大版小学数学四年级 2.2 相交与垂直 课件.ppt VIP
- 校园文化艺术节美术展活动策划方案.docx VIP
- 人工智能在检测技术中的应用研究.docx VIP
- Sony索尼Cameras & Camcorders DCR-DVD808 使用說明書_繁体中文.pdf
- 某住宅小区园林景观工程施工组织设计 技术标(最全).doc
- 我爱吃的水果课件资料.ppt VIP
- 直动式纯水溢流阀设计与仿真分析.pdf VIP
文档评论(0)