Java SE程序设计12_第12章 线程知识.ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
线程知识 - * - 理解线程的基本概念 理解Java的线程模型 掌握Java线程的状态和状态转换 掌握线程的创建和使用 掌握线程优先级的使用 理解多线程的概念 掌握Java的多线程实现 掌握线程的同步技巧 掌握线程的通信方式 理解死锁的概念 目标 - * - 线程 多线程:在一个程序中同时运行多个任务 多进程:在操作系统中能同时运行多个任务(程序) 线程和进程的区别: 进程是运行中的应用程序,拥有自己独立的内存空间和资源 一个进程可以有一个或多个线程组成,且至少有一个线程称为主线程 线程是最小的处理单位,多个线程共享一块内存和资源 当一个线程改变了所属进程的变量时,其它线程下次访问该变量时得到这种改变 线程(Thread)是独立于其他线程运行的程序执行单元。 - * - 线程的优点 充分利用CPU资源 简化编程模型 简化异步事件处理 使GUI更有效率 节约成本 - * - Java线程模型 线程模型: Thread类 Runnable接口 Thread和Runnable区别: Thread是类,具有线程的所有方法,其对象就是一个线程对象。但继承Thread,就不能再继承其他的类(Java只支持单一继承)。 Runnable是接口,只提供run()方法,实现该接口的类还可以继承其他类,但其对象不是线程对象,不能直接运行,必须通过Thread将其启动。 Thread类封装线程所必须的功能,有start()、run()、sleep()等方法 Runnable接口是标识某个Java类是否可作为线程类的接口,该接口中只提供了一个run()方法。 - * - 线程使用 每个Java程序至少包含一个线程:主线程。其他线程都是通过Thread构造器或实例化继承类Thread的类来创建的。 示例 class MainThread { public static void main(String args[]) { // 调用Thread类的currentThread()方法获取当前线程 Thread t = Thread.currentThread(); System.out.println(主线程是: + t); } } - * - 创建线程 创建线程有两种方法: 使用Thread类 使用Runnable接口 继承Thread类,重写run方法,可以创建线程类。 语法格式: 示例: class 类_名 extends Thread{ //重写run()方法 public void run() { //线程的任务功能 } } class Thread1 extends Thread { public void run() { // 获取当前线程的名字 System.out.println( Thread.currentThread().getName()); } } - * - Thread类 方法名 功能说明 Thread() 构造缺省的线程对象 Thread(Runnable target) 使用传递的Runnable构造线程对象 Thread(Runnable target,String name) 使用传递的Runnable构造名为name的线程对象 Thread(ThreadGroup group,Runnable target,String name) 使用传递的Runnable再group线程组内构造名为name的线程对象 final String getName() 返回线程的名称 final boolean isAlive() 如果线程是激活的,则返回 true final void setName(String name) 将线程的名称设置为由name指定的名称 set\getPriority() 设置得到线程优先级 final void join() 等待线程结束 static void sleep(long millis) 用于将线程挂起一段时间,单位毫秒 void start() 调用run( )方法启动线程,开始线程的执行 void stop() 停止线程。已经不建议使用 void interrput() 中断线程 static int activeCount() 返回激活的线程数 static void yield() 使正在执行的线程临时暂停,并允许其他线程执行 - * - Runnable接口 Runnable接口由单个方法run()组成,它在线程激活时执行。 通过Runnable接口创建线程的步骤如下: 1. 实例化实现Runnable接口的类 2. 建立一个Thread对象,并将第一步实例

文档评论(0)

autohhh + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档