第9章 多程机制与动画.ppt

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章 多程机制与动画

* 第九章 多线程机制与动画 支持多线程是Java程序的优点之一,本章介绍多线程编程的技术。本章的目标是: 深入理解进程与线程的概念,线程优先级的概念;理解线程的新建、可运行、运行、阻塞和终止5种状态。 掌握通过继承Thread类和使用Rannable接口建立线程和多线程的方法。 基本掌握多线程程序的设计方法。 掌握使用定时器实现动画效果的技术和控制动画的技术。 本章学习目标 9.1 线程的建立 在一台计算机中,可能有多个程序同时运行,一个正在运行的程序称为一个进程。进程不仅有自己的程序代码,而且拥有自己的数据空间,占用某些系统资源。尽管进程与进程之间可以通过某些方式进行通信和共享,例如使用剪切板、文件等,但是进程与进程之间是彼此平等、独立的,即分别拥有数据空间、占用系统资源。 如果把进程划分成几个更小的运行单位,让每个运行单位作为一个顺序控制流,这就是线程。即线程是比进程更小的运行单位,是进程内部的一段程序。当一个进程使用多线程的方式时,就能在一个进程中同时启用多个线程,这就提高了程序的效率,或者借此达到某种目的。 9.1.1 进程与线程的概念 9.1 线程的建立 线程与进程不同的是,一个进程中的多个线程共享同一个数据空间和占用的系统资源,创建线程和进行线程之间的切换时,所花费的代价很小,是轻负荷的。 每一个程序自动拥有一个线程称为主线程,若要使用其它线程,必须通过编程来实现。Java语言支持多线程机制,在Java程序中可以很方便地创建多线程。创建多线程主要有两个途径,用Rannable接口建立线程和继承Thread类建立线程,以下几节分别介绍并举例说明。 9.1.2 继承Thread类建立线程 建立线程的一个办法是继承线程类Thread,表9-1给出了Thread类的构造方法,表9-2给出了Thread类的常用实例方法。 9.1 线程的建立 表9-1 Thread类的构造方法 创建一个线程对象,参数target指明实际执行线程体的目标对象,参数name指定线程名 public Thread(Runnable target, String name) 创建一个线程对象,参数name为线程名,若该参数为null,则Java自动为线程提供一个唯一的名字 public Thread(String name) 创建一个线程对象,参数target指明实际执行线程体的目标对象,如果为null表示由对象本身执行线程体 public Thread(Runnable target) 创建一个线程对象 public Thread() 解释 构造方法 9.1 线程的建立 表9-2 Thread类的常用方法 销毁线程 public void destroy() 中断线程 public void interrupt() 线程体,是用户必须重写的空方法 public void run() 启动线程 public void start() 成员方法 获取当前线程是否中断 public static boolean interrupted() 使线程暂停 public static void yield() 使线程睡眠millis毫秒加十亿分之nanos秒 public static void sleep(long millis, int nanos) 使线程睡眠millis毫秒 public static void sleep(long millis) 获取当前线程 public static Thread currentThread() 静态方法 解释 常用方法 9.1 线程的建立 用继承Thread的办法建立线程的主要步骤是: 第一,声明一个类,该类要继承Thread类并编写run方法的代码,通常的写法是: class thread1 extends Thread { public void run() { //书写线程体方法 } } 第二,用new关键字创建该类的一个实例对象,可以写成: thread1 threadName; Pythagora=new threadName (); 第三,用start方法启动这个线程: threadName.start(); 实例 毕达哥拉斯数和完全平方数 9.1 线程的建立 9.1.3 用Rannable接口建立线程 建立线程的另一种办法是使用Rannable接口,Rannable接口只有一个run方法,用户必须实现run方法,已经实现的run方法称为线程体。表9-3给出了run方法的原形。 表9-3 用Rannable接口的run方法 Rannable接口的线程方法 public void run (

文档评论(0)

189****7685 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档