- 1、本文档共46页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
例9.4 优先级相同的线程 class SamePriority{ public static void main(String[] args){ new DemoA(长江).start(); new DemoA(黄河).start(); } } class DemoA extends Thread { private String name; public DemoA(String s){ super(s); this.name=s; } public void run(){ for(int i=0;i=4;i++){ System.out.print( +currentThread().getName()); yield(); } System.out.println(); } } 该程序的输出是: 长江 黄河 东海 东海 东海 东海 东海 长江 黄河 长江 黄河 长江 黄河 长江 ? ⑴Java线程的优先级是一个在1到10之间的整数。 ⑵未设定优先级的线程其优先级为缺省值5。 ⑶在类Thread中分别用类常量 MIN_PRIORITY、NORM_PRIORITY和MAX_PROIORITY表示1、5、10这3个数。 ⑷在程序中可利用方法setPriority( int newPriority)将当前线程的优先级指定为newPriority的值。 ⑸一个线程可以创建另一个线程,被创建的线程的优先级与创建者的相同。 ⑹Java的调度发式抢占式的,即Java保证优先级最高的线程线运行。 ⑺当一个线程运行结束或处于阻塞状态后,Java总是从就绪队列中挑选优先级最高的线程进入运行状态。 例9.5 运行优先级不同的线程 class TwoPriority{ public static void main(String[] args){ new DemoA(长江).start(); new DemoA(黄河).start(); DemoA da=new DemoA(东海); da.setPriority(Thread.MAX_PRIORITY); da.start(); } } class DemoA extends Thread { private String name; public DemoA(String s){ super(s); this.name=s; } public void run(){ for(int i=0;i=4;i++){ System.out.print( +currentThread().getName()); yield(); } System.out.println(); } } 该程序的输出是: 长江 黄河 东海 东海 东海 东海 东海 长江 黄河 长江 黄河 长江 黄河 长江 ? ⑴本程序各次运行的结果可能不一样,但优先级高的“东海”线程会较早地执行完。 ⑵多线程程序不保证输出的再现性。 ⑶语句setPriority(Thread.MAX_PRIORITY);将当前线程的优先级指定为最大值。 例9.7 线程同步运行 class ShareIntAble{ private int value; private boolean setAble=true; public synchronized void set(int val){ while(!setAble){ try{ wait(); }catch(InterruptedException ie){} } setAble=false; value=val; notify(); } public synchronized int get(){ while(setAble){ try{ wait(); }catch(InterruptedException ie){} } setAble=true; * * 第9章 Java的多线程机制 本章主要讲述了线程的概念,线程的创建,线程的管理。 例9.1用类Thread的子类创建线程 class CalculateThread extends Thread{ private String name; public CalculateThread(String nam
您可能关注的文档
- 、教材分析:.ppt
- _ 国际汽车工业质量管理体系.ppt
- “知荣明耻学做人” 辩论大擂台.ppt
- 《白鹅》教学设计 天德学校 高雪茹.ppt
- 《心血管疾病介入诊疗技术管理规范》解读.ppt
- 《长方体和正方体的表面积》魏春杰.ppt
- 1、 的指数是 底数是 读作 表示的意思是 。.ppt
- 1.2 材料的力学性质.ppt
- 1.2.2算法基本语句.ppt
- 1.放射性,放射现象.ppt
- DB13_T2443-2017_仔猪早期断奶应激综合症防治技术规程_河北省.docx
- DB13_T2473-2017_五氧化二钒砷含量测定原子荧光光度法_河北省.docx
- DB13_T2463-2017_日光温室甜椒节水灌溉技术规程_河北省.docx
- DB13_T2525-2017_紫花苜蓿冬小麦-夏玉米轮作技术规程_河北省.docx
- DB13_T2457.4-2017_谷子病虫害防治技术规程第4部分:抗除草剂谷子_河北省.docx
- DB13_T2428-2016_乡村文化主题酒店建设和服务规范_河北省.docx
- DB13_T2246-2015_半农半牧区草原沙化状况调查技术规程_河北省.docx
- DB13_T2379-2016_聚丙烯纤维混凝土加固T型梁桥施工技术规范_河北省.docx
- DB13_T2381-2016_瓦楞纸板钉箱机通用技术要求_河北省.docx
- DB13_T2435-2016_高等学校学生公寓管理服务规范_河北省.docx
文档评论(0)