面向对象程序设计Java第8章.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象程序设计Java第8章

面向对象程序设计Java;第8章 多线程设计;多线程机制;线程与进程相似,是一段完成某个特定功能的代码,是程序中单个顺序的流控制。;进程与线程之间的差别主要体现在两个方面:;线程由三部分组成:;一个建立线程的例子:;多线程实现方法;实现Thread子类方法的多线程;实现Thread子类方法的多线程示例;class SecondThread extends Thread { public void run() { try{ System.out.println(\tSecond thread starts running.); for(int i=0; i6; i++) { System.out.println(\tSecond + i); sleep(1000); } System.out.println(\tSecond thread finishes running); }catch (InterruptedException e) {} } };public class ThreadTest1 { public ThreadTest1() { FirstThread first = new FirstThread(); SecondThread second = new SecondThread(); first.start(); second.start(); } public static void main(String[] args) { new ThreadTest1(); } };实现Runnable接口方法的多线程;实现Runnable接口多线程示例;class SecondThread implements Runnable { public void run() { try { System.out.println(\tSecond thread starts running.); for(int i=0; i6; i++) { System.out.println(\tSecond + i); Thread.sleep(1000); } System.out.println(\tSecond thread finished.); }catch(InterruptedException e) {} } };public class RunTest { public RunTest() { FirstThread first = new FirstThread(); SecondThread second = new SecondThread(); Thread thread1 = new Thread(first); Thread thread2 = new Thread(second); thread1.start(); thread2.start(); } public static void main(String[] args) { new RunTest(); } };多线程状态及调度;可执行态:处于可执行环境中,随时可以被调度而执行。它可细分为两个子状态: 执行状态,已获得CPU,正在执行; 就绪状态,只等待处理器资源。这两个子状态的过渡由执行调度器来控制。;线程的控制;应用程序中的多个线程能够并发执行,即线程数在多于处理机数时是串行地执行,那么如何来决定哪一个线程先执行? Java引入了优先级的概念,优先级就是线程获得CPU而执行的优先程度,优先级越高,获得CPU的权力越大,执行的机会越多???执行的时间也越长。 Java把优先级划分为10级,用1至10的整数表示,数值越大,优先级越高。;多线程状态及调度;调度就是分配CPU资源,确定线程的执行顺序。 Java采用抢占式调度方式,即高优先级线程具有剥夺低优先级线程执行的权力。 如果一个低优先线程正在执行,这时出现一个高优先级线程,那么低优先级线程就只能停止执行,放弃CPU,推回到等待队列中,等待下一轮执行,而让高优先级线程立即执行。;如果线程具有相同的优先级,则按“先来先服务”的原则调度。 让高优先级线程执行一段时间后,能够交出使用权,放弃CPU。有两个方法可以达到这一

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档