- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第14章 多线程
14.1 线程简介
14.2 创建任务和线程
14.3 线程属性
14.4 线程池
14.5 异常与线程
第14章 多线程(续)
14.6 共享资源
14.7 线程的状态
14.8 线程安全的类
14.9 Swing与线程
14.10 习题
14.1 线程简介
使用多线程可以将一个程序划分为多个独立的
子任务,每个子任务都能同时运行。
程序的一次执行过程称为一个进程。进程是一
个“ 自包含” 的运行程序,有自己专用的内存地
址。
线程是指一个程序中可以独立运行的片断,是
进程中的一个单一而连续的控制流程。
一个进程可以包含多个线程,每个线程独立运
行以执行特定的任务,而且同一进程内的多个
线程间共享内存等资源。
14.1 线程简介(续)
对于单CPU平台,多任务操作系统能使多个进
程循环获得自己的CPU时间片,由于循环的速
度非常快,可以把它想象成每个进程都有自己
专用的CPU,即多个程序(进程)在同时运
行;对于多CPU平台,多任务操作系统能确保
多个进程同时获得自己的CPU时间片。
多线程在较低的层次上扩展了多任务的概念,
它使得一个程序中可以有多个线程同时运行。
可以同时运行一个以上线程的程序称为多线程
程序。
14.1 线程简介(续)
主线程由系统自动创建并启动。当程序
作为application运行时,主线程就是方法
main 的执行路径;当程序作为applet运行
时,主线程就是applet装载运行的路径。
14.2 创建任务和线程
要实现多线程,就必须在主线程或其他已经
存在的线程中创建新的线程对象。
为了创建新线程,应该首先定义该线程将执
行的特定子任务。一般来说,为了定义线程
的子任务,就需要定义一个实现接口
java.lang.Runnable的任务类。
接口Runnable中只有一个无参数方法run ,
实现该接口时,在方法run 中定义相应线程的
子任务代码。
14.2 创建任务和线程(续)
定义某个任务类后,如果需要创建一个执行相
应子任务的新线程,只需首先创建一个该类的
对象,然后以该对象为参数,使用类
java.lang.Thread创建一个Thread对象,
即线程对象。最后,调用类Thread中定义的
方法start启动当前线程来执行相应子任务。
例14-1 一个简单的多线程程序
源代码 运 行
14.2 创建任务和线程(续)
方法start运行时,首先会为当前线程进行
特殊的初始化,然后使当前线程开始运
行(系统会在这个当前线程中自动调用
该线程的方法run )。一旦当前线程开始
运行,方法start就立即返回,而当前线程
会继续运行。
14.2 创建任务和线程(续)
程序中不要直接调用Runnable对象的方
法run 。直接调用该方法,与调用其他普
通方法的效果一样,只会在同一线程中
执行其中的代码,不会启动新线程。
不调用方法start,新线程永远不会开始运
行。此外,也不能针对同一个线程,多
次调用方法start 。多次调用方法start启动
同一个线程是非法的。
14.2 创建任务和线程(续)
类Thread实现了接口Runnable,因此,
也可以通过定义一个类Thread的子类来定
义线程的子任务。
除非程序员打算修改或增强某个类的基本行
为,否则不应该为该类创建子类。类
Thread中定义有许多控制线程的方法,而
为了定义线程子任务只需覆盖其中的方法
run ,因此,现在这种方法已不再推荐使
用。
14.3 线程属性
14
您可能关注的文档
- 3ds max三维动画制作实例教程 教学课件 许朝侠 第八章.pdf
- 3ds max三维动画制作实例教程 教学课件 许朝侠 第二章.pdf
- 3ds max三维动画制作实例教程 教学课件 许朝侠 第九章.pdf
- 3ds max三维动画制作实例教程 教学课件 许朝侠 第六章.pdf
- 3ds max三维动画制作实例教程 教学课件 许朝侠 第七章.pdf
- 3ds max三维动画制作实例教程 教学课件 许朝侠 第三章.pdf
- 3ds max三维动画制作实例教程 教学课件 许朝侠 第十章.pdf
- 3ds max三维动画制作实例教程 教学课件 许朝侠 第四章.pdf
- 3ds max三维动画制作实例教程 教学课件 许朝侠 第五章.pdf
- 3ds max三维动画制作实例教程 教学课件 许朝侠 第一章.pdf
- Java程序设计 教学课件 刘慧宁 15.pdf
- MATLAB基础教程 教学课件 杨德平 第1章 基础入门.pdf
- MATLAB基础教程 教学课件 杨德平 第2章 数值计算.pdf
- MATLAB基础教程 教学课件 杨德平 第4章 符号计算.pdf
- MATLAB基础教程 教学课件 杨德平 第5章 绘图及可视化.pdf
- MATLAB基础教程 教学课件 杨德平 第6章 程序设计.pdf
- MATLAB基础教程 教学课件 杨德平 第7章 M文件.pdf
- MATLAB基础教程 教学课件 杨德平 第8章 数据分析.pdf
- MATLAB基础教程 教学课件 杨德平 第9章 最优化计算.pdf
- MATLAB基础教程 教学课件 杨德平 第10章 Simulink动态仿真.pdf
最近下载
- 华为EMC设计指南.pdf VIP
- 《导光管采光技术》课件.pptx VIP
- DB15_T 2383-2021 草原生态修复监测评价指标分类.docx VIP
- (2025秋新版)人教版二年级数学上册《 分类与整理第4课时 练一练》PPT.pptx VIP
- 消防工程维保、检测、消防安全评估公司公示内容-工作流程.docx VIP
- 2025至2030船用推进发动机行业发展研究与产业战略规划分析评估报告.docx VIP
- 《七律二首 送瘟神》教案- 2023-2024学年高教版(2023)中职语文职业模块.docx VIP
- 福建普通高中新课程思想政治学科教学指导意见.DOC
- 感染病病原体耐药机制.pptx VIP
- 【历年真题】2019年10月02134信息系统设计与分析自考试卷(四川含答案).docx VIP
文档评论(0)