- 1、本文档共57页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
线程间通信洗车(面向对象)*线程间通信Main方法*线程间通信生产者消费者问题有一个仓库,生产者负责生产产品,并放入仓库,消费者会从仓库中拿走产品(消费)。要求:仓库中每次只能入一人(生产者或消费者)。仓库中可存放产品的数量最多10个,当仓库放满时,生产者不能再放入产品。当仓库空时,消费者不能从中取出产品。生产、消费速度不同。*线程间通信Lock与ConditionSynchronized的缺点:性能,以及功能上的一些限制使它无法中断一个正在等候获得锁的线程,也无法通过投票得到锁,如果不想等下去,也就没法得到锁JDK1.5引入了新的锁定机制,在concurrent.locks包下面。其中新增了Lock与Condition,可以明确的在程序中进行明确的锁与释放锁。*线程间通信Lock是一个接口 其中定义了lock()、unclock()与newCondition()三种方法。lock()用来取得对象的锁。unlock() 用来释放对象的锁,通常由同一个Lock对象来调用lock()与unlock()。newCondition() 建立一个与Lock对象相关联的Conditon对象。*线程间通信Condition是一个接口,作用是在执行线程之间进行交互。await() 告知目前的执行线程等待,直到被通知或中断(interrupted)。signal() 通知目前等待中的一个线程,从上次的等待点继续执行,类似对象的notify()方法。signalAll() 通知目前等待中的所有执行线程,而后从上次的等待点继续执行,类似对象的notifyAll()方法。*线程间通信线程管道流用于将一个线程的输出连接到另一个线程的输入PipedReader/PipedInputStream实现管道的输入PipedWriter/PipedOutputStream实现管道的输出**主要内容线程的概念创建和启动线程线程的生命周期线程同步线程间通信线程的常用方法线程池技术线程的常用方法使调用它的线程立即停止执行。(弃用) publicfinalvoidstop()使线程挂起,暂停运行。(弃用) publicfinalvoidsuspend()恢复挂起的线程,使其处于可运行状态(弃用) publicfinalvoidresume()*都已弃用,如何来停止线程线程的常用方法等待该线程终止。 publicfinalvoidjoin()*线程的常用方法join()方法*Main方法线程的常用方法停止线程运行interrupt()方法(线程非运行状态)当sleep方法被调用。当wait方法被调用。当被I/O阻塞,可能是文件或者网络等等。定义变量*线程的常用方法中断等待线程 注:中断线程抛出InterruptedException异常 publicvoidinterrupt() 例子:*线程的常用方法Java将线程分为User线程和Daemon线程两种。User线程:Java虚拟机在它所有非守护线程已经离开后自动离开。Daemon线程:守护线程即后台线程。用来服务用户线程的,当所有的非后台线程结束时,程序也就终止了,同时会杀死所有Daemon线程。*线程的常用方法将该线程标记为守护线程或用户线程 publicfinalvoidsetDaemon(booleanon)通过setDaemon(true)设置线程为守护线程。注意:setDaemon()方法必须在调用线程的start()方法之前调用。一旦一个线程开始执行,它的daemon状态不能再修改。方法isDaemon()可以知道一个线程是否Daemon线程。守护线程中产生的线程也是守护线程,用户线程同样。*线程的常用方法setDaemon()方法*用户线程守护线程线程的常用方法线程优先级设置线程优先级。 publicfinalvoidsetPriority(int?newPriority)返回线程优先级。 publicfinalintgetPriority()优先级级别:1~10(值越大,优先级越高)*线程的常用方法默认main方法也就是主线程的级别是5 System.out.println(Thread.currentThread().getPriority()); 输出:5注意1:Java的调度器能使高优先级的线程始终运行,一旦
您可能关注的文档
- 武汉石化新建10.4万吨年裂解气制醋酸乙烯项目VAC环境评价报告(03版).doc
- 武汉阳逻石化 20 万吨 年硫磺回收装置及系统配套项目设计摘要.pdf
- 武汉阳逻石化 20 万吨年硫磺回收装置及系统配套项目 设备选型与典型设备设计.pdf
- 武汉阳逻石化 20 万吨年硫磺回收装置及系统配套项目·环境影响报告书.pdf
- 武汉阳逻石化20万吨硫磺回收装置及系统配套项目 安全性预评价.docx
- 武汉阳逻石化20万吨硫磺回收装置及系统配套项目 初步设计说明书.docx
- 武汉阳逻石化20万吨硫磺回收装置及系统配套项目 创新性说明.doc
- 武汉阳逻石化20万吨硫磺回收装置及系统配套项目 环境影响报告书.doc
- 武汉阳逻石化20万吨硫磺回收装置及系统配套项目 项目可行性报告.docx
- 武汉阳逻石化20万吨年硫磺回收装置及系统配套项目初步设计说明书(8).pdf
最近下载
- 《货代销售管理培训》课件.pptx VIP
- 大班科学《藏在身体上的尺子》微课件.pptx
- _恶性潜能未定的子宫平滑肌瘤诊治的中国专家共识(2024年版).pdf
- 双碱法软化除硬加药量及污泥量的计算.docx
- 卫生专业技术资格考试疾病控制(中级361)专业实践能力试题及答案指导.docx VIP
- 2025年卫生专业技术资格考试疾病控制(中级361)专业实践能力试卷及答案指导.docx VIP
- 卫生专业技术资格考试疾病控制(中级361)基础知识试卷及答案指导(2025年).docx VIP
- 《CACA甲状腺癌诊治指南(2025版)》更新要点解读PPT课件.pptx VIP
- 公考协议班合同模板下载.docx
- 人教版道德与法治一年级下册《第四单元 争做中国好儿童》大单元整体教学设计.docx
文档评论(0)