- 1、本文档共107页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java高级编程-线程
第9章 线程 ;图 8.2-1; 实现多任务通常有两种方法,一种称为抢占式多任务(preemptive multitasking);一种叫合作式多任务(cooperative multitasking)。对于抢占式多任务,操作系统自行决定何时中断一个程序,将执行时间分给其他程序。相反,对于合作式多任务操作系统将与程序进行协商,只有程序自愿放弃控制时才被中断。虽然抢占式多任务实现起来困难一些,但却有效得多。对于合作式多任务来说,一个运行不好的程序会占有整个系统。 ; 多线程把操作系统的多任务原理应用到程序中,进一步发展了这一原理。应用了多线程技术的程序如同多任务操作系统一样,可以同时执行多个任务。每个任务被称为一个线程——它是线程控制流的简称。实际上,多线程的应用非常广泛,例如,浏览器在下载数据的同时还可以浏览其他网页,或者当某个网页下载太慢时,还可以控制浏览器中止这个网页浏览。Java语言本身也使用一个线程在后台收集无用的内存单元——这样就减少了用户管理内存的麻烦!; 通常,我们把操作系统的多个任务称为进程(Process),而程序中的多任务则称为线程。那么,线程和进程之间有什么区别呢?最基本的区别就是每个进程都拥有一组完整的属于自己的变量,而线程则共享这些数据。看起来这样似乎不如进程安全,确实如此,本章后面将会更详细地讨论。但线程的优势在于创建和注销线程的开销比运行新的进程少得多,所以现在主流的操作系统都支持多线程。而且,和进程间的通信相比,线程间的通信要快得多,也方便得多。
;多线程基本概念;多线程基本概念;多线程基本概念;线程的创建与控制;继承Thread;public class ThreadTest {
public static void main(String args[]) {
Xyz r = new Xyz();
Thread t = new Thread(r);
t.start();
}
}
class Xyz implements Runnable {
int i;
public void run() {
while (true) {
System.out.println(Hello + i++);
if (i == 50) break;
}
}
};线程的创建与控制;线程的创建与控制;线程的创建与控制;线程的状态
线程有四种状态,分别为
● new(初始态):一个线程在调用new()方法之后,调用start()方法之前所处的状态。在初始态中,可以调用start()和stop()方法。 ; ● Runnable(可运行状态):一旦线程调用了start()方法,线程就转到Runnable()状态。注意,如果线程处于Runnable状态,它也有可能不在运行,这是因为还存在优先级和调度问题。
● blocked(阻塞/挂起状态):线程处于阻塞状态。这是由两种可能性造成的:因挂起而暂停;由于某些原因而阻塞,例如等待IO请求的完成等。
● dead(终止状态):线程转到退出状态。这有两种可能性:run()方法执行结束;调用了stop()方法。; 一个Thread对象在它的生命周期中会处于各种不同的状态。图8.2-2形象地说明了这点。
尽管线程变为可运行的,但它并不立即开始运行。在一个只带有一个处理机的机器上,某一个时刻只能进行一个动作。在Java中,线程是抢占式的,但并不一定是分时的 (一个常见的概念错误是认为“抢占式”只不过是“分时”的一种别称而已)。抢占式调度模型是指可能有多个线程是可运行的,但只有一个线程在实际运行。 ; 这个线程会一直运行,直至它不再是可运行的,或者另一个具有更高优先级的线程成为可运行的。对于后面一种情形,则是因低优先级线程被高优先级线程抢占了运行的机会。
? 一个线程可能因为各种原因而不再是可运行的:线程的代码可能执行了一个Thread.sleep()调用,要求这个线程暂停一段固定的时间;这个线程可能在等待访问某个资源,而且在这个资源可访问之前,这个线程无法继续运行。
;图 8.2-2 ; 所有可运行线程根据优先级保存在池中。当一个被阻塞的线程变成可运行时,它会被放回相应的可运行池。优先级最高的非空池中的线程会得到处理机时间(被运行)。
您可能关注的文档
- DMA技术专题讲座.ppt
- DNA Barcoding在药用植物鉴定的应用.ppt
- DNA的生物合成讲义.ppt
- DS8000B天馈线测试仪操作培训.ppt
- dsp原理及应用-指令系统.ppt
- DS6-K5B计算机联锁系统维护指南.ppt
- dsp原理及应用讲义.ppt
- DSP基础知识及应用培训.ppt
- DSP技术与应用讲义.ppt
- DSP第3章_TMS320C54x的片上外设.ppt
- 康哲药业(0867.HK)芦可替尼乳膏NDA获受理,创新产品潜力十足.pdf
- 巨星农牧公司深度报告:成本与资金双优势引领,未来出栏高增可期.pdf
- 久期策略选择与组合观测:基本特征介绍.pdf
- 敬畏市场、尊重规律:近期A股暴涨的原因机理分析与市场走势研判.pdf
- 近期资金流向分析.pdf
- 金属及金属新材料行业利率拐点议周期:基钦周期再开启或推动金属行业配置属性优化-240930-东兴证券.pdf
- 金融资产投资公司参与科技金融的角色与意义.pdf
- 2018年体育教师入党转正申请.doc
- 入党申请书(三).doc
- 国庆假期国内外重要事件评述:国庆假期中国概念一枝独秀,Q4股债双牛还能出现吗?.pdf
最近下载
- 《机械设计基础》课程设计方案.pdf
- 第三届全国新能源汽车关键技术技能大赛决赛-汽车电器维修工(新能源汽车电控系统技术方向)赛项竞赛平台主要设备技术标准(指导版).pdf
- 布病患者的护理课件.pptx VIP
- 2024阿里巴巴淘宝云客服-消费者咨询业务知识题库与答案.docx
- 青州古城景区介绍-青州古城景点PPT.pptx
- 产后骨盆修复培训课件.pptx VIP
- 监控维修工程施工方案.docx
- 江苏省南京市江宁区2023-2024学年四年级上学期期末科学试卷.docx VIP
- 第五章-绿色化学方法.ppt VIP
- 意识形态领域风险隐患排查、突出问题整治、阵地管理提升行动工作方案.docx VIP
文档评论(0)