JAVA程序设计基础8.ppt

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 多线程 8.1 线 程 概 述 8.2 多线程设计 8.3 线程同步与死锁 8.1 线 程 概 述 8.1.1 程序、进程、线程和多线程 程序是由若干条语句组成的语句序列,是一段静态代码。 进程是程序的一次动态执行过程。 线程包含了一个计算机执行传统程序时所做的每一件事情。 多线程是指同一个应用程序中有多个顺序流同时执行。 8.1.2 线程状态和生命周期 1.新建状态 2.就绪状态 3.运行状态 4.阻塞状态 5.消亡状态 8.1.3 线程优先级和线程调度 在Java语言中,线程的优先级是用数字来表示的,范围为1~10,如设置某线程优先级为5。另外Thread类提供3个有关线程优先级的静态属性: NORM_PRIORITY:代表普通优先级、默认优先级,缺省为5 MIN_PRIORITY:代表最低优先级,通常为1 MAX_PRIORITY:代表最高优先级,通常为10 对于一个新建线程,系统会遵循如下的原则为其指定优先级: (1)继承创建它的父线程的优先级。 (2)通过调用Thread类的setPriority(int a)方法来设置线程的优先级。 当一个在就绪队列中排队的线程获得CPU资源而转入运行状态后,则称这个线程被调度。线程的调度遵循优先级基础上的抢先策略。抢先策略是指如下几个方面。 (1)若一个比当前活动线程优先级更高的线程进入就绪状态时,则停止当前活动线程的执行,当前活动线程转入阻塞状态,插入就绪队列中重新等待调度,而优先级高的线程转入运行状态,成为活动线程。 (2)若一个比当前活动线程优先级低的线程进入就绪状态时,则当前活动线程不停止继续执行,刚进入就绪状态的线程在就绪队列等待调度。 (3)若一个与当前活动线程优先级相同的线程进入就绪状态时,则遵循“先到先服务”原则。 8.2 多线程设计 8.2.1 继承Thread类 8.2.2 用实现Runnable接口实现多线程 8.3 线程同步与死锁 1.线程同步 2.线程死锁 *

文档评论(0)

yan666888 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档