- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java程序设计精编教程第12章_Java多线程机制
《Java程序设计精编教程》 第12章 导读 §12.1 进程与线程 §12.1.1 操作系统与进程 §12.1.2 进程与线程 §12.2 Java中的线程 §12.2.1 Java的多线程机制 §12.2.2 线程的状态与生命周期 §12.2.3 线程调度与优先级 §12.3 Thread类与线程的创建 §12.3.1 使用Thread的子类 §12.3.2 使用Thread类 §12.3.3 关于run()方法启动的次数 §12.4 线程的常用方法 §12.5 线程同步 §12.6 在同步方法中使用wait()、notify 和otifyAll()方法 §12.7 线程联合 * Java多线程机制 主要内容 Java中的线程 Thread子类创建线程 使用Runnable接口 线程的常用方法 线程同步 在同步方法中使用wait()、notify 和notifyAll()方法 线程联合 程序是一段静态的代码,它是应用软件执行的蓝本。 进程是程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程,这个过程也是进程本身从产生、发展至消亡的过程。 现代操作系统可以同时管理一个计算机系统中的多个进程,即可以让计算机系统中的多个进程轮流使用CPU资源。 线程是比进程更小的执行单位,一个进程在其执行过程中,可以产生多个线程,形成多条执行线索,每条线索,即每个线程也有它自身的产生、存在和消亡的过程。 线程间可以共享进程中的某些内存单元(包括代码与数据),线程的中断与恢复可以更加节省系统的开销。 Java语言的一大特性点就是内置对多线程的支持。 Java虚拟机快速地把控制从一个线程切换到另一个线程。这些线程将被轮流执行,使得每个线程都有机会使用CPU资源。 每个Java应用程序都有一个缺省的主线程。 JVM一直要等到Java应用程序中的所有线程都结束之后,才结束Java应用程序 。 建的线程在它的一个完整的生命周期中通常要经历如下的四种状态: 1.新建: 当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建状态。 2.运行 :线程必须调用start()方法(从父类继承的方法)通知JVM,这样JVM就会知道又有一个新一个线程排队等候切换了。一旦轮到它来享用CPU资源时,此线程的就可以脱离创建它的主线程独立开始自己的生命周期了。 3.中断:有4种原因的中断: ◆ JVM将CPU资源从当前线程切换给其他线程,使本线程让出CPU的使用权处于中断状态。 ◆线程使用CPU资源期间,执行了sleep(int millsecond)方法,使当前线程进入休眠状。 ◆线程使用CPU资源期间,执行了wait()方法。 ◆线程使用CPU资源期间,执行某个操作进入阻塞状态。 4.死亡 :处于死亡状态的线程不具有继续运行的能力。线程释放了实体。 例题1 处于就绪状态的线程首先进入就绪队列排队等候CPU资源,同一时刻在就绪队列中的线程可能有多个。Java虚拟机(JVM)中的线程调度器负责管理线程,调度器把线程的优先级分为10个级别,分别用Thread类中的类常量表示。 Java调度器的任务是使高优先级的线程能始终运行,一旦时间片有空闲,则使具有同等优先级的线程以轮流的方式顺序使用时间片。 在Java语言中,用Thread类或子类创建线程对象。 在编写Thread类的子类时,需要重写父类的run()方法,其目的是规定线程的具体操作,否则线程就什么也不做,因为父类的run()方法中没有任何操作语句。 例题1 创建线程的另一个途径就是用Thread类直接创建线程对象。使用Thread创建线程通常使用的构造方法是: Thread(Runnable target) 该构造方法中的参数是一个Runnable类型的接口。 在创建线程对象时必须向构造方法的参数传递一个实现Runnable接口类的实例,该实例对象称作所创线程的目标对象,当线程调用start()方法后,一旦轮到它来享用CPU资源,目标对象就会自动调用接口中的run()方法(接口回调)。 例题2 对于具有相同目标对象的线程,当其中一个线程享用CPU资源时,目标对象自动调用接口中的run方法,这时,run方法中的局部变量被分配内存空间,当轮到另一个线程享用CPU资源时,目标对象会再次调用接口中的run方法,那么,run()方法中的局部变量会再次分配内存空间。也就是说run(
您可能关注的文档
- 第5章_人工神经网络_matlab工具箱.ppt
- 网络分析仪精编.ppt
- 计算机图形学 圆的扫描转换.ppt
- 弧度制-精编版.ppt
- 常用代码的简单使用方法.ppt
- ARM编程实例.ppt
- 精编高二物理课堂教学课件_选修3-1恒定电流第六节_2-6.ppt
- 精编vfp教程 第3章.ppt
- 02 代码评审.ppt
- 八上诗四首精编课件.ppt
- 2025年中国铸管沥青漆喷涂机市场调查研究报告.docx
- 2025至2031年中国聚四氟乙割管料行业投资前景及策略咨询研究报告.docx
- 2025至2031年中国屏蔽箱行业投资前景及策略咨询研究报告.docx
- 2025年中国B级电源电涌保护器市场调查研究报告.docx
- 2025至2031年中国陶瓷印章行业投资前景及策略咨询研究报告.docx
- 2025至2031年中国保冷材料行业投资前景及策略咨询研究报告.docx
- 2025至2031年中国金彩立雕玻璃行业投资前景及策略咨询研究报告.docx
- 2025至2030年中国机箱螺母柱数据监测研究报告.docx
- 2025至2030年中国小GS管装饰头数据监测研究报告.docx
- 2025至2030年中国气动电阻焊机数据监测研究报告.docx
最近下载
- 高考百日家长给孩子的一封信范文.doc VIP
- 2024年注册土木工程师(水利水电)之专业知识题库含答案【新】.docx
- 人教版高中英语单词表(必修1-选修8)打印专用 .pdf
- 天津市南开区2024-2025学年七年级上学期期末语文试题.docx
- 交管12123学法减分复习题库500道含完整答案(历年真题).docx
- 人教版日语八年级 生词+关联词(默写) .pdf VIP
- 流行性感冒课件PPT(共51张PPT).pptx
- 二年级上册数学竖式100题.pdf
- 脑出血患者下肢深静脉血栓预防护理个案分析.docx
- 中国成人心搏骤停后综合征中西医结合诊治专家共识(2023)解读PPT课件.pptx
文档评论(0)