- 1、本文档共67页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第九章 线程 目录 Java中的线程 线程的生命周期 Thread的子类创建线程 使用Runable接口 线程的常用方法 线程的优先级 线程同步 在同步方法中使用wait()、notify 和notifyAll()方法 挂起、恢复和终止线程 本章小结 线程的概念 进程和线程的区别(Example9_11) 进程 一个独立程序的每一次运行称为一个进程,例如 用字处理软件编辑文稿时,同时打开mp3播放程序听音乐,这两个独立的程序在同时运行,称为两个进程 设置一个进程要占用相当一部分处理器时间和内存资源 大多数操作系统不允许进程访问其他进程的内存空间,进程间的通信很不方便,编程模型比较复杂 线程的概念(续) 线程 一个程序中多段代码同时并发执行,称为多线程 通过多线程,一个进程表面上看同时可以执行一个以上的任务——并发 创建线程比创建进程开销要小得多,线程之间的协作和数据交换也比较容易(进程独站资源) 线程间共享资源(内存、代码、数据)有利于并行处理 线程的状态与生命周期 新建: 当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建状态。此时它已经有了相应的内存空间和其他资源。 就绪状态:线程等待 CPU 运行状态:start()方法开始执行 中断(阻塞)状态:sleep(), wait(), I/O 完成 or 发布 I/O 请求 sleep(): 使当前线程进入等待状态,参数设定其等待时间 wait(): 使当前线程进入等待状态,调用nofify(), or notifyAll(), 使其重新进入线程等待队列 死亡: run() 方法完成 stop() 方法被调用 线程的几种基本状态(续) 诞生状态 线程刚刚被创建 就绪状态 线程的 start 方法已被执行 线程已准备好运行 运行状态 处理机分配给了线程,线程正在运行 阻塞状态(Blocked) 在线程发出输入/输出请求且必须等待其返回 遇到用synchronized标记的方法而未获得其监视器暂时不能进入执行时 休眠状态(Sleeping) 执行sleep方法而进入休眠 死亡状态 线程已完成或退出 主线程:Java应用程序总是从主类的main方法开始执行。当JVM加载代码,发现main方法之后,启动的线程称作“主线程”,该线程负责执行main方法。 在main方法的执行中再创建的线程,就称为程序中的其它线程。 如果main方法中没有创建其他的线程,那么当main方法执行完最后一个语句,JVM就会结束Java应用程序。 如果main方法中又创建了其他线程,那么JVM就要在主线程和其他线程之间轮流切换,main方法即使执行完最后的语句,JVM也不会结束程序,JVM一直要等到程序中的所有线程都结束之后,才结束Java应用程序。 Java中创建线程的两种方法 Thread 类的子类创建线程对象,子类重写Thread类中的run()方法 使用Thread类直接创建线程对象,但需要使用Runable接口 Thread类 Thread类 在Java程序中创建多线程的方法之一是继承Thread类 封装了Java程序中一个线程对象需要拥有的属性和方法 从Thread类派生一个子类,并创建这个子类的对象,就可以产生一个新的线程。这个子类应该重写Thread类的run()方法,在run方法中写入需要在新线程中执行的语句段。这个子类的对象需要调用start方法来启动,新线程将自动进入run方法。原线程将同时继续往下执行 它位于java.lang包中,因而程序开头不用import任何包就可直接使用 例子:Example9_1.java Thread类(续) 在新线程中完成计算某个整数的阶乘 public class Ex8_1 { public static void main( String [] args ) { System.out.println(main thread starts); FactorialThread thread=new FactorialThread(10); thread.start(); System.out.println(main thread ends ); } } class FactorialThread extends Thread { private int num; public FactorialThread( int num ) { this.num=num; } Thread类(续) public void run() { int i=num;
您可能关注的文档
- JAVA程序员培训定制课程c04.ppt
- 07.5-平面与直线.ppt
- JAVA程序执行内存分析.ppt
- Java程序设计(第2章).ppt
- 07年广州市初中地理结业考试.ppt
- 07不完全竞争市场.ppt
- Java程序设计-15-访问数据库.ppt
- 07物理科选择题十种解法.ppt
- Java程序设计-7-继承和接口.ppt
- java程序设计08-图形与多媒体.ppt
- 在劳动试验中诱发进展剖宫产1591-s2 main.pdf
- greet street advisors-executive compensation and corporate governance may5迎接街顾问执行治理.pdf
- 详解介绍indapamide专着3489sodium injection3488.pdf
- 详解单位分配短06yfu 2efs001yfu b5 den.pdf
- 分析详解介绍.pdf
- diamagnetic susceptibility of selected organic compounds选定有机化合物磁敏感性.pdf
- zigbee扩展开发型套件irm 3638.pdf
- 成果综合详解tecsis gmbh carl-legien str 40 de766.pdf
- 乙酰基乙腈水沸点bu bz苯甲酰二氯甲烷内容.pdf
- xenserver全部位新功能项目hypervisor whats new in xs psXS提示中.pdf
最近下载
- 2024-2025学年深圳市莲花中学北校区小升初入学分班考试语文试卷附答案解析.pdf VIP
- DB44_T 1661-2021《河道管理范围内建设项目技术规程》.docx VIP
- 中考数学—平行四边形的综合压轴题专题复习及答案解析 .pdf VIP
- (高清版)B/T 12971.1-2023 电力牵引用接触线 第1部分:铜及铜合金接触线.pdf VIP
- 强直性脊柱炎PPT课件.ppt VIP
- 广西自然科学研究系列卫生研究类专业职称评审条件(试行)2023.doc VIP
- 浙江理工大学2020考研真题.pptx VIP
- 工程量清单及招标控制价编制服务采购服务方案.docx VIP
- DB51T 2569-2019四川岩沥青改性沥青路面技术规范.docx VIP
- Unit3 Vocabulary 高中英语人教版(2019)选择性必修第一册.pptx VIP
文档评论(0)