JAVA教程第7章(多任务程序设计).pptVIP

  1. 1、本文档共36页,可阅读全部内容。
  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文档。上传文档
查看更多
广东轻院.JAVA程序设计 第八章 多任务程序设计 内容提要 ◆线程的定义、状态 ◆线程的创建 ◆单线程和多线程 引子 假日,三五好友聚集在酒吧,一边天南地北地闲聊,一边欣赏音乐,享受美食,其乐融融。 人在同一时间可以做许多事,如上面情景中所描述的,吃、聊、听哪个都不耽误。为什么人可以这样呢?其实,是由于人脑通过某种方式,很好地处理了同时来自多方面的要求,指挥身体的各个器官做相应地动作。 计算机是否能像人一样一脑同时多用呢?回答是肯定的。当用户在计算机上看VCD时,可以同时看到画面、听到对话和音乐。当用户处理文档时,可以播放音乐,还可以同时运行病毒监控软件、打印文件…… 计算机能做到这一点,是因为通过软件对处理文件、播放音乐、运行其它应用程序各分配一个线程,就可以同时完成多个任务的执行。 知识要点 线程的概念 线程的五种状态:新建、就绪、运行、阻塞、死亡 两种创建线程的方法:创建Thread的子类、利用Runnable接口 单线程和多线程的实现 任务1 实现产品信息处理界面的动态显示 问题分析 知识学习 线程概念 创建单线程 创建多线程 任务实施 问题分析 任务描述: 仓管系统中,查询产品信息的同时,在界面的状态栏显示系统日期,在左上角显示动态欢迎信息。 步骤分析: 线程概念和线程机制 分析问题中包含几个线程,以及各个线程相关知识 日期类应用 动态效果的实现方法 编写代码及编译执行 知识学习——进程与线程 先来两个例子: 例1:利用Windows系统中的DOS命令模式执行应用程序时,首先要进入该应用程序所在的目录,然后键入命令及应用程序的名字,按Enter执行程序。此时,若需要执行另一个程序,必须等第一个程序退出后,才能执行第二个程序。 例2:Windows系统中,可以在进行文字处理的同时,欣赏到美妙的音乐;当用户运行一个精美的Flash动画时,不仅可感受到图像、音响给用户带来的愉悦,可能还会看到一些人物对话的文字信息…… 上面的例子说明了什么? 知识学习——进程与线程 知识学习——单线程和多线程 线程:将一个程序转换成多个独立运行的子任务。这样的每个子任务都叫作一个“线程”(Thread) 单线程: java的一个独立程序的每一次运行称为java单进程 类或者类其中的某些方法或者代码块只能“同时”被一个线程执行。 当有多个线程同时执行到此处时,只有当正在执行的线程运行完毕,释放锁之后,其它线程才可以继续执行。 多线程:与单线程比较而言,同一实例中有多个线程”同时”运行 知识学习——线程的五种状态 知识学习——两种创建线程的方式 利用Thread创建线程 创建一个Thread的子类 重写Thread的run()方法,实现内容即为程序将实现的功能 知识学习——两种创建线程的方式 利用Runnable接口实现 如果需要既可扩展自某个其它类,又能运行于自己的线程之中 ,则使用Runnable接口实现 方法:先创建一个实现Runnable接口的类,并实现其中的run()方法 知识学习——日期 日期相关类:Date、Calendar和DateFormat Date()方法主要用于创建日期对象并获取日期; Calendar()方法主要用于获取和设置日期; DateFormat()方法主要用于创建日期格式化器,然后再由格式化器将日期转换为各种日期格式串输出。 JAVA语言规定的基准日期为格林尼治标准时间1970.1.1.00:00:00,当前日期是由基准日期开始所经历的毫秒数转换出来的。 DateFomat类在java.text包中,Date和Calendar类在java.util包中。 知识学习——动态效果 动画是基于循环序列的,通过序列的不断重复,可产生动画的效果。序列中的每一幅画面(包括图像和文本)称为一帧。通常,动画序列是每秒显示5-25帧。 任务实施 根据线程的概念,问题中的查询处理是一个线程,而显示系统时间和动态欢迎信息是另一个线程。 关键问题 线程的创建 理解日期类 字体的设置 动画的处理 编码实现 Vector类 线程通信中需要多个数据的存放,可利用利用收集来实现多个数据对象的存放 收集是其中包含有一组对象的对象。 Java技术支持Vector(向量)、 LinkedList、Bits、Stack、Hashtable等收集类。 Vector类 Vector类允许你创建包含多个对象的动态数组,提供追加、删除、插入元素的方法。 创建Vector类对象的语法 for(int i=0;ilen;i++) { obj=elementAt(i);

文档评论(0)

精华文档888 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档