网站大量收购独家精品文档,联系QQ:2885784924

Java程序设计及应用 李宗军 06 1新.pptVIP

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第11讲:多线程编程(1) 内容提要 基本概念 创建线程 线程的生命周期 前台线程与后台线程 线程的分支与合并 基本概念 程序 进程 线程 多线程 创建线程 创建线程有两种方式: 通过继承Thread类 通过实现Runnable接口 创建线程——继承Thread类 例程 通过上面的例子,可以总结出该种方式的多线程编程的要点: (1)首先创建线程类(通过继承Thread类并覆盖run()方法); (2)其次启动线程(通过创建自定义线程类对象并调用其继承的start()方法)。 初学者易犯的错误是:认为线程的启动执行只与run()方法有关,故第15~18行代码可以与下面的代码等价。 30 ThreadTest t1 = new ThreadTest(); 31 t1.start(); //启动了一个线程 32 t1.start(); //又启动了一个新的线程 创建线程——实现Runnable接口 例程 通过该例程,可以总结出该种方式的多线程编程的要点: (1)首先创建线程类(通过实现Runnable接口的run()方法); (2)其次启动线程(通过创建自定义类对象,再使用该对象创建Thread类对象并调用其start()方法)。 两种创建线程方式的比较 两种线程创建方式中都有一个run()方法,这让我们猜测Thread和Runnable之间应该有关系,查阅JDK API发现Thread类的声明为:public class Thread implements Runnable,这与使用第二种方式创建线程很类似,实际上不仅是类似,而且就是如此。 第一种方式采用继承,但Java只允许单继承,故这样的自定义线程类就不能再继承其他的类了,这是一个缺陷,所以建议采用第二种方式来创建线程 线程的生命周期 前台线程与后台线程 Java 有两种线程:后台线程(也称为守护线程、精灵线程)与前台线程(也称为用户线程)。6.2节中的例程都是前台线程,后台线程是一种在后台为前台线程提供通用性支持的线程,它并不是程序本身的一部分。这个模型也是来源于物理世界,例如演戏就有前台和后台,演员在前台上演戏,整个过程离不开后台的支持和服务。 Thread类中的setDaemon(boolean on)方法用于设置线程的前台/后台模式:当参数on的值为true时,当前线程就设置为后台模式,为false则为前台模式。 线程的分支与合并 通过分支,线程由一个变成多个,从而产生并行处理,使用6.2节介绍的创建线程的两种方式中的任意一种都能实现线程的分支。这是说在一个线程中创建另一个线程的情况,如果在main()方法中创建一个线程是不是就只有一个线程了?需要记住的是,Java进程都是多线程的,在启动一个Java应用时,就自动产生了一个线程(称为主线程或main线程),这个线程的运行方法就是我们再熟悉不过的main()方法,main()方法相当于普通线程中的run()方法。 而线程的合并恰恰相反,把一个线程合并到另一个线程中,由并行处理转为顺序处理。 例程 小结 基本概念 创建线程 线程的生命周期 前台线程与后台线程 线程的分支与合并 作业 习题 6: 1-6 LOGO 调用start() Runnable Running 获得CPU Blocked 结束 Run()方法完毕 在线教务辅导网: 更多课程配套课件资源请访问在线教务辅导网

文档评论(0)

精品课件 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档