- 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线程 主讲: 赵 欢 教授 第六章Java线程 线程的基本概念:进程与线程 创建线程的方式: 继承 Thread类 实现 Runnable接口 线程的生命周期 线程的同步与死锁 小结 6.1 线程的基本概念 6.1 线程的基本概念 1 进程 进程是并发执行的程序在一个数据集合上的执行过程。对于多任务的操作系统Windows,我们可以同时打开和运行多哥应用程序。每个独立运行的应用程序即为一个进程,同时运行的多个应用程序则为多进程。 6.1 线程的基本概念 Windows任务管理器中的进程 6.1 线程的基本概念 进程是由进程控制块、程序段、数据段三部分组成。一个进程可以包含若干线程(Thread)。 线程可以帮助应用程序同时做几件事,是可并发执行的程序。 在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立单位,也是称活动、路径或任务,它有两方面性质:活动性、并发性。 进程可以划分为运行、阻塞、就绪三种状态,并随一定条件而相互转化:就绪--运行,运行--阻塞,阻塞--就绪。 6.1 线程的基本概念 2 线程 线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,这使得线程间的通信远较进程简单。 6.1 线程的基本概念 线程和进程的区别: 1)多个进程的内部数据和状态都是完全独立的,而多线程是共享一块内存空间和一组系统资源,有可能互相影响。 2)线程本身的数据通常只有寄存器数据,以及一个程序执行时使用的堆栈,所以线程的切换比进程切换的负担要小。 3)对线程的综合支持是Java技术的一个重要特色.它提供了thread类、监视器和条件变量的技术。 4)虽然Macintosh,Windows NT,Windows 9等操作系统支持多线程,但若要用C或C++编写多线程程序是十分困难的,因为它们对数据同步的支持不充分。 6.1 线程的基本概念 进程中多线程同时运行 ,如图: 6.1 线程的基本概念 使用多线程的优势: 1)减轻编写交互频繁、涉及面多的程序的困难. 2)程序的吞吐量会得到改善. 3)由多个处理器的系统,可以并发运行不同的线程.(否则,任何时刻只有一个线程在运行) 6.2 创建线程的方式 Java中实现线程的方式有两种 : ① 继承 Thread类,比如 class MyThread extends Thread { public void run() { // 这里写上线程的内容 } public static void main(String[] args) { // 使用这个方法启动一个线程 new MyThread().start(); } } 6.2 创建线程的方式 ② 实现 Runnable接口 class MyThread implements Runnable{ public void run() { // 这里写上线程的内容 } public static void main(String[] args) { // 使用这个方法启动一个线程 new Thread(new MyThread()).start(); } } 注意:一般鼓励使用第二种方法,应为Java里面只允许单一继承,但允许实现多个接口。第二个方法更加灵活。 6.2 创建线程的方式 6.2.1 Thread类 该类支持许多种方法,得到关于线程的活动、集合的信息,并检查线程的性质,引起线程等待、中断和撤消。 通过扩展Thread类可使应用程序和类在单独的线程中运行。 类Thread在包java.lang中定义,它的构造方法如下: public Thread(); public Thread(Runnable target); public Thread(Runnable target,String name); public Thread(String name); public Thread(ThreadGroup group,Runnable target); public Thread(ThreadGroup group, String name); 6.2 创建线程的方式 主要方法有: isActive() 判断是否处于执行状态 Suspend() 暂停执行 reSume 恢复执行 start() 开始执行 Stop() 停止执行 sleep() 睡眠 r
您可能关注的文档
- Java程序设计及应用 李宗军 02 3新.ppt
- Java程序设计及应用 李宗军 02 4新.ppt
- Java程序设计及应用 李宗军 03 1新.ppt
- Java程序设计及应用 李宗军 03 3新.ppt
- Java程序设计及应用 李宗军 04新.ppt
- Java程序设计及应用 李宗军 06 1新.ppt
- Java程序设计及应用 李宗军 06 2新.ppt
- Java程序设计及应用 李宗军 07 1新.ppt
- Java程序设计及应用 李宗军 07 2新.ppt
- Java程序设计及应用 李宗军 10新.ppt
- 2024年商丘市直遴选考试真题汇编及答案解析(夺冠).docx
- 2023年鞍山市遴选公务员考试真题汇编附答案解析.docx
- 2025年庆阳市直属机关遴选公务员笔试真题汇编带答案解析.docx
- 2023年陕西省直机关遴选公务员笔试真题汇编附答案解析(夺冠).docx
- 2023年龙岩市直机关遴选公务员笔试真题汇编附答案解析(夺冠).docx
- 2025年兰州市直机关遴选公务员笔试真题汇编及答案解析(夺冠).docx
- 2024年昌都地区直机关遴选公务员笔试真题汇编及答案解析(夺冠).docx
- 2025年安阳市选调公务员考试真题汇编附答案解析.docx
- 农业经济体制改革指导工作手册(标准版).doc
- 水利厅水利政策法规研究工作手册(标准版).doc
最近下载
- 2026深圳市事业单位集中招聘高校毕业生658人备考题库附答案解析(夺冠).docx VIP
- 人工搬运技术标准.docx VIP
- ISO 9001(DIS)-2026《质量管理体系——要求》(含附录使用指南-中文版-译-2025年9月).docx VIP
- 过程改进与持续改进的关系与方法.pptx VIP
- 《Arduino开发技术及应用》高职全套教学课件.pptx
- DBJ04 242-2020 居住建筑节能设计.docx VIP
- 一汽大众成都分公司新速腾车型下一代项目 环境影响报告书.pdf VIP
- 一种燃料元件棒塞体焊接方法.pdf VIP
- 岭南民俗文化课件.ppt VIP
- 物流园冬日安全用电课件.ppt VIP
原创力文档


文档评论(0)