- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3、线程的生命周期及控制 isAlive()方法:可以用来判断线程目前是否正在执行中。如果线程已被启动并且未被终止,那么isAlive( )返回true,但该线程是可运行或是不可运行的,是不能作进一步的分辨。如果返回false,则该线程是新创建或是已被终止的(同样不能作进一步的分辨)。 join()方法:等待线程执行完毕。 yield()方法:将执行的权力交给其它优先级相同的线程,当前执行线程到可运行线程队列(ready)的最后等待,若队列空,该方法无效。 myThread thd = new MyThread(); thd.start(); … thd.join(); //等待线程thd执行完后再继续往下执行 … join(int time):最多等待time所指定的时间。 sleep()方法可以暂停线程的执行,让其它线程得到机会。但sleep()要丢出例外InterruptedException ,必须抓住。 try { sleep(100) }catch(InterruptedException e){ …//本例外可不作处理 } suspend()方法和resume()可以用来暂停线程或恢复线程。可以由线程自身在线程体中调用suspend()方法暂停自己,也可以在其他线程中通过线程实例调用suspend()方法暂停线程的执行。但是要恢复由suspend()方法暂停的线程,只能在其他线程中通过线程实例调用resume()方法。 3、线程的生命周期及控制 Java提供一个线程调度器来监控程序中启动后进入可运行状态的所有线程。线程调度器按照线程的优先级决定调度哪些线程来执行,具有高优先级的线程会在较低优先级的线程之前得到执行。同时线程的调度是抢先式的,即如果当前线程在执行过程中,一个具有更高优先级的线程进入可执行状态,则该告优先级的线程会被立即调度执行。 多个线程运行时,若线程的优先级相同,由操作系统按时间片轮转方式或独占方式来分配线程的执行时间。 4、线程的优先级及调度 在Java中线程的优先级是用数字来表示的,分为三个级别: 低优先级:Thread.MIN_PRIORITY,数值为1 (2~4) 缺省优先级: Thread. NORM_PRIORITY,数值为5 高优先级:Thread.MAX_PRIORITY,数值为10 (6~9) 具有相同优先级的多个线程,若它们都为高优先级Thread.MAX_PRIORITY,则每个线程都是独占式的,也就是说这些线程将被顺序执行;若该优先级不为高优先级,则这些线程将同时执行,也就是说这些线程的执行是无序的。 线程被创建后,其缺省的优先级是缺省优先级Thread. NORM_PRIORITY。可以用方法 int getPriority()来获得线程的优先级,同时也可以用方法 void setPriority( int p ) 在线程被创建后改变线程的优先级。 4、线程的优先级及调度 4、线程的优先级及调度 线程离开执行状态, 如果: 线程结束 线程处于I/O等待 线程调用sleep 线程调用wait 线程调用join 线程调用yield 有更高优先级的线程 时间片用完 Priority 10 Priority 9 Priority 8 Priority 7 Priority 6 Priority 5 Priority 4 Priority 3 Priority 2 Priority 1 A B C D E F G H I J K ThreadPriority.java 1. 用管道流实现线程间的通信 线程1 PipedOutputStream PipedInputStream 输出流outStream 输入流inStream 线程2 2. 通过一个中间类在线程间传递信息 线程2 线程1 中间类m s s m.write(s) s=m.read() write() read() 5、多线程的互斥与同步 ——线程间的通信 管道流可以连接两个线程间的通信。下面的例子里有两个线程在运行,一个写线程往管道流中输出信息,一个读线程从管道流中读入信息。 5、多线程的互斥与同步 ——线程间的通信 主类Pipethread 辅类myWriter 线 程 类 辅类 myReader 线 程 类 管 道 流 将数据写到输出流 从输入流中读数据 输出流作为参数 传给myWriter 输入流作为参数 传给myReader class myWriter extends Thread { pri
您可能关注的文档
- Unit1、2教材分析详解.ppt
- Unit1_第2课时教学课件详解.ppt
- Unit1partA课件3详解.ppt
- unit1大学英语教案详解.ppt
- Unit1单元导学案详解.doc
- Unit1导学案详解.doc
- unit1陕旅版三级下册MyBody详解.pptx
- a4五级上册表格教案详解.doc
- A05网络安全设计详解.ppt
- Unit1优质的教学课件详解.ppt
- 浙江省平阳中学2025-2026学年高三上学期8月开学考地理试题 Word版无答案.docx
- 浙江省七彩阳光新高考研究联盟2025-2026学年高三上学期返校联考历史试题 Word版无答案.docx
- 浙江省Z20名校联盟(名校新高考研究联盟)2025-2026学年高三上学期第一次联考历史试卷 Word版无答案.docx
- 浙江省七彩阳光新高考研究联盟2025-2026学年高三上学期返校联考物理试题 Word版无答案.docx
- 单元总结提升.pptx
- 第22课 从局部抗战到全国抗战(练习,含解析).docx
- 浙江省强基联盟2025-2026学年高三8月联考语文试题 Word版无答案.docx
- 2024土工合成材料塑料土工格室.pdf
- 第23课 全民族浴血奋战与抗日战争的胜利.pptx
- 第23课 全民族浴血奋战与抗日战争的胜利.docx
最近下载
- 一次性使用微创扩张引流套件产品技术要求注册完整参考版.docx VIP
- BS-EN-12266-2-2002-(中文版).pdf VIP
- 14J936 变形缝建筑构造.docx VIP
- 学习《加大国家通用语言文字推广力度,促进铸牢中华民族共同体意识》推普周专题课件.ppt VIP
- SL 400-2016 水利水电工程机电设备安装安全技术规程.docx VIP
- 2022-2028全球5G通信模块行业调研及趋势分析报告.docx VIP
- 人教版2025-2026学年二年级道德与法治上册教学计划(及进度表).docx
- 第5课 用发展的观点看问题-【中职专用】2024年中职思想政治《哲学与人生》金牌课件(高教版2023·基础模块).pptx VIP
- 零缺陷管理培训课件.ppt VIP
- 2025年英语PEP6年级上册-大单元整体教学设计正文 6上_Unit 1.docx VIP
文档评论(0)