- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《Java程序设计实用教程》 第13章 配合例子源代码一起使用 导读 §13.1 进程与线程 §13.1.1 操作系统与进程 §13.1.2 进程与线程 §13.2 Java中的线程 §13.2.1 Java的多线程机制 §13.2.2 线程的状态与生命周期 例13-1 §13.2.3 线程调度与优先级 §13.3 Thread的子类创建线程 §13.4 使用Runnable接口 §13.4.1 Runnable接口与目标对象 §13.4.2 关于run()方法启动的次数 §13.4.3 在线程中启动其他线程 §13.5 线程的常用方法_1 例13-5 §13.5 线程的常用方法_2 §13.6 线程同步 §13.6.1 什么是线程同步 §13.6.2 通过同步避免切换的影响 §13.7 在同步方法中使用wait()、notify() 和otifyAll()方法 §13.8 线程联合 * 注意:开始用功了! Power point 制作:耿祥义 张跃平 Java多线程机制 程序是一段静态的代码,它是应用软件执行的蓝本。 进程是程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程,这个过程也是进程本身从产生、发展至消亡的过程。 现代操作系统可以同时管理一个计算机系统中的多个进程,即可以让计算机系统中的多个进程轮流使用CPU资源。 线程是比进程更小的执行单位,一个进程在其执行过程中,可以产生多个线程,形成多条执行线索,每条线索,即每个线程也有它自身的产生、存在和消亡的过程。 线程间可以共享进程中的某些内存单元(包括代码与数据),线程的中断与恢复可以更加节省系统的开销。 Java语言的一大特性点就是内置对多线程的支持。 Java虚拟机快速地把控制从一个线程切换到另一个线程。这些线程将被轮流执行,使得每个线程都有机会使用CPU资源。 每个Java应用程序都有一个缺省的主线程。 JVM一直要等到Java应用程序中的所有线程都结束之后,才结束Java应用程序 。 class Hello { public static void main(String args[]) { while(true) { System.out.println(hello); } while(true) { System.out.println(您好); } } } 建的线程在它的一个完整的生命周期中通常要经历如下的四种状态: 1.新建: 当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建状态。 2.运行 :线程必须调用start( )方法(从父类继承的方法)通知JVM,这样JVM就会知道又有一个新一个线程排队等候切换了。一旦轮到它来享用CPU资源时,此线程的就可以脱离创建它的主线程独立开始自己的生命周期了。 3.中断:有4种原因的中断: ◆ JVM将CPU资源从当前线程切换给其他线程,使本线程让出CPU的使用权处于中断状态。 ◆线程使用CPU资源期间,执行了sleep(int millsecond)方法,使当前线程进入休眠状。 ◆线程使用CPU资源期间,执行了wait( )方法。 ◆线程使用CPU资源期间,执行某个操作进入阻塞状态。 4.死亡 :处于死亡状态的线程不具有继续运行的能力。线程释放了实体。 Example13_1.java , SpeakDog.java , SpeakCat.java 处于就绪状态的线程首先进入就绪队列排队等候CPU资源,同一时刻在就绪队列中的线程可能有多个。Java虚拟机(JVM)中的线程调度器负责管理线程,调度器把线程的优先级分为10个级别,分别用Thread类中的类常量表示。 Java调度器的任务是使高优先级的线程能始终运行,一旦时间片有空闲,则使具有同等优先级的线程以轮流的方式顺序使用时间片。 在Java语言中,用Thread类或子类创建线程对象。 在编写Thread类的子类时,需要重写父类的run()方法,其目的是规定线程的具体操作,否则线程就什么也不做,因为父类的run()方法中没有任何操作语句。 例13-2 Cake.java Example13_2.java Ant.java 使用Thread子类创建线程的优点是:可以在子类中增加新的成员变量,使线程具有某种属性,
您可能关注的文档
- Java程序设计 第二版 朱喜福2 第5章 异常和多线程新.ppt
- Java程序设计 第二版 朱喜福2 第6章 Java的输入输出流新.ppt
- Java程序设计 第二版 朱喜福2 第7章 Java的图形与用户界面新.ppt
- Java程序设计 朱喜福 第2章新.ppt
- Java程序设计 朱喜福 第3章新.ppt
- Java程序设计 朱喜福 第4章新.ppt
- Java程序设计 朱喜福 第5章新.ppt
- Java程序设计 朱喜福 第6章新.ppt
- Java程序设计 朱喜福 第7章新.ppt
- Java程序设计 朱喜福 第8章新.ppt
- Java程序设计实用教程 耿祥义 张跃平 Java程序设计实用教程_第15章_图形用户界面设计新.ppt
- Java程序设计实用教程 沈昕 王爱赪 魏雪英 曲彭生 第1章新.ppt
- Java程序设计实用教程 沈昕 王爱赪 魏雪英 曲彭生 第6章新.ppt
- Java程序设计实用教程 沈昕 王爱赪 魏雪英 曲彭生1 第1章新.ppt
- Java程序设计实用教程 沈昕 王爱赪 魏雪英 曲彭生1 第2章新.ppt
- Java程序设计实用教程 沈昕 王爱赪 魏雪英 曲彭生1 第3章新.ppt
- Java程序设计实用教程 沈昕 王爱赪 魏雪英 曲彭生1 第6章新.ppt
- Java面向对象程序设计 张亦辉 冯华 胡洁 第1章 Java语言概述新.ppt
- Java面向对象程序设计 张亦辉 冯华 胡洁 第10章 高级应用新.ppt
- Java软件开发技术 陈炜 张晓蕾 侯燕萍 何凌云 第1章新.ppt
文档评论(0)