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的多线程机制 理解线程的生命周期及线程的状态 掌握线程的两种实现方法 掌握线程的启动、休眠、中断和终止 掌握线程的同步方法 了解线程间的交互 使用wait 和notify 进行线程之间的通信 线程入门 进程 线程或运行上下文 SellTicket 程序 案例介绍,见程序9-1 案例目的 代码分析 线程的生命周期 线程的实现方法 创建多线程有两种方法: 继承Thread类 实现Runnable接口 Thread类 每个线程都是通过类Thread在Java的软件包Java.lang中定义,它的构造方法 public Thread (ThreadGroup group,Runnable target,String name); 其中,group 指明该线程所属的线程组;target实际执行线程体的目标对象,它必须实现接口Runnable; name为线程名。Java中的每个线程都有自己的名称,Java提供了不同Thread类构造器,允许给线程指定名称。如果name为null时,则Java自动提供唯一的名称。 继承Thread类 使用继承Thread类实现多线程的基本步骤如下: 创建一个Thread类的子类A; 在子类A中重写run()方法,包含线程要实现的操作; 用关键字new 创建一个子类A的实例; 调用start()方法启动线程。 案例介绍,见程序9-2 实现Runnable接口 任何实现接口Runnable的对象都可以作为一个线程的目标对象。 通过Runnable接口实现多线程的基本步骤如下: 编写一个类B,实现Runnable接口 在类B中编写run()方法,它将成为线程的线程体 创建该类B的实例t,选择合适的构造方法 创建一个Thread类的实例M,以步骤3中的实例t为参数 实例M调用start()方法,启动线程 Runnable接口的实现 例如,类primes实现Runnable接口 Class primes implements Runnable{ Public void run(){ //代码编写 } } 类primes实现接口后,需要创建对象,例如, prime p=new prime( ); new Thread(p).start( ): 创建一个实现Runnable接口的线程类 案例介绍 在程序9-3基础上进行修改,采用实现Runnable接口的方式实现铁路售票的模拟。 程序9-3 SellTicket.java可以改用Runnable接口实现,将其代码中20行改为: class Tickets implements Runnable{ 二种线程方式的用法区别 实现Runnable接口相对于继承Thread类来说,优点如下: Thread 类是一个严格的虚拟CPU 封装,并且仅当改变或继承CPU 模型的行为时,才应该继承它。适合多个相同程序代码的线程去处理同一资源的情况,把虚拟CPU(线程)同程序的代码,数据有效的分离,较好地体现了面向对象的设计思想。 如果采用继承Thread 类的方式创建新的线程类,则无法通过继承或间接继承获得其他类的属性和行为。 因多次被迫实现Runnable,可能为保持一致性而总采用这种方式。 继承Thread 的优点是代码会更加简洁。有利于程序的健壮性,代码能够被多个线程共享,代码与数据是独立的。 线程的控制 启动线程 线程调度 测试线程 线程的优先级 线程的休眠 线程的中断 线程的终止 线程的同步 线程的安全问题 案例拓展 意外原因 Synchronized关键字 对象锁标记 释放锁标记 同步函数 线程的新状态 线程交互 情景描述 解决方案:wait 以及notify 方法 池的说明 线程的最终状态 创建多线程实例 火车票窗口售票 流程图 程序9-14 生产者-消费者 生产者线程 消费者线程 SyncStack 类 pop 方法 push 方法 SyncTest 示例 总 结 Java多线程机制 线程的生命周期及线程的状态 线程的两种实现方法 继承Thread类 实现Runnable接口 线程的启动、休眠、中断和终止 线程的同步方法 * 第9章 多线程机制 讲师: 2009-06 -08 谢 谢 Exact File Name 5/30/08 Page * *

文档评论(0)

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

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

1亿VIP精品文档

相关文档