海南大学:《Java语言程序设计》课程电子教案(PPT教学课件)第十三章 多线程

第十三章 多线程 课程内容:多线程概念、通过Thread类 Runnable接口编写线程、线程控制与线程状态、 线程组、线程同步、Applet的线程 ■授课时间:2006/11/27 ■教学目标:了解多线程概念;学习如何通过 Thread类、Runnable接☐编写线程;了解线程 周期,掌握设置线程的优先级;学习使用线程 同步避免资源冲突等 ■了 重点:多线程的编写、控制和使用 ■教学方法:讲授 ■教学过程:(省略) ©2006计算机系杨群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 课程内容:多线程概念、通过Thread类、 Runnable接口编写线程、线程控制与线程状态、 线程组、线程同步、Applet的线程 授课时间:2006/11/27 教学目标:了解多线程概念;学习如何通过 Thread类、Runnable接口编写线程;了解线程 周期,掌握设置线程的优先级;学习使用线程 同步避免资源冲突等 重点:多线程的编写、控制和使用 教学方法:讲授 教学过程:(省略) 第十三章 多线程

多线程概念 多线程在 Thread 1 多CPU上运 Thread 2 行 Thread 3 多线程分享 Thread 1 单个CPU Thread 2 Thread 3 ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 多线程概念 Thread 3 Thread 2 多线程在 Thread 1 多CPU上运 行 多线程分享 单个 CPU Thread 3 Thread 2 Thread 1

扩展Thread类创建线程 /Custom thread class /client class oublic class CustomThread extends Thread public class client public CustomThread(.) public someMethod() { /Create a thread CustomThread thread -new CustomThread(.) /Override the run method in Thread public void run() /Start a thread thread.start(); /Tell system how to run custom thread ©2006计算机系杨群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 扩展Thread类创建线程 // Custom thread class public class CustomThread extends Thread { . public CustomThread(.) { . } // Override the run method in Thread public void run() { // Tell system how to run custom thread . } . } // Client class public class Client { . public someMethod() { . // Create a thread CustomThread thread = new CustomThread(.); // Start a thread thread.start(); . } . }

范例:使用Thread类创建并运行线程 创建并运行三个线程: - 第一个线程打印100次字母a -第二个线程打印100次字母b 第三个线程打印整数1到100 TestThread ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 创建并运行三个线程: – 第一个线程打印100次字母a – 第二个线程打印100次字母b – 第三个线程打印整数1到100 TestThread 范例:使用Thread类创建并运行线程

实现Runnable接口创建线程 /Custom thread class /client class public class CustomThread public class client implements Runnable public someMethod ( public CustomThread(.) { /Create an instance of CustomThread CustomThread customThread new CustomThread(.); /Implement the run method in Runnable public void run() //Create a thread Thread thread new Thread(customThread); /Tell system how to run custom thread /Start a thread thread.start(); ©2006计算机系杨群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 实现Runnable接口创建线程 // Custom thread class public class CustomThread implements Runnable { . public CustomThread(.) { . } // Implement the run method in Runnable public void run() { // Tell system how to run custom thread . } . } // Client class public class Client { . public someMethod() { . // Create an instance of CustomThread CustomThread customThread = new CustomThread(.); // Create a thread Thread thread = new Thread(customThread); // Start a thread thread.start(); . } . }

范例:使用Runnable接口创建并运行线程 创建并运行三个线程: -第一个线程打印100次字母a -第二个线程打印100次字母b -第三个线程打印整数1到100 TestRunnable ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 范例:使用Runnable接口创建并运行线程 创建并运行三个线程: –第一个线程打印100次字母a –第二个线程打印100次字母b –第三个线程打印整数1到100 TestRunnable

控制线程和线程状态 void run() Java运行系统调用该方法执行线程。用户必须 覆盖该方法并且提供线程执行的代码 void start() 启动线程,引起对run0方法的调用。客户类中 的可运行对象调用方法 static void sleep(long millis) throws InterruptedException 将可运行对象置于休眠状态,休眠时间为指定的 毫秒 ©2006计算机系杨厚群 All rights&lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 控制线程和线程状态 void run() Java运行系统调用该方法执行线程。用户必须 覆盖该方法并且提供线程执行的代码 void start() 启动线程,引起对run()方法的调用。客户类中 的可运行对象调用方法 static void sleep(long millis) throws InterruptedException 将可运行对象置于休眠状态,休眠时间为指定的 毫秒

控制线程和线程状态(cont.) void stop(O(Java2不推荐) 停止线程 void suspend()(Java2不推荐) 挂起线程。使用resume0)方法唤醒线程 void resume()(Java2不推荐) 唤醒线程。使用suspend()挂起线程 ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 控制线程和线程状态(cont.) void stop() (Java2不推荐) 停止线程 void suspend() (Java2不推荐) 挂起线程。使用 resume() 方法唤醒线程 void resume() (Java2不推荐) 唤醒线程。使用 suspend()挂起线程

线程优先级 每个线程都有一个默认的优先级:NORM PRIORITY。 可以通过setPriority(int priority)方法设置 优先级 线程类的常量有:Thread.MIN_PRIORITY、 Thread.MAX PRIORITY,Thread.NORM PRIORITY ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 线程优先级 每个线程都有一个默认的优先级:NORM_PRIORITY。 可以通过setPriority(int priority)方法设置 优先级 线程类的常量有:Thread.MIN_PRIORITY、 Thread.MAX_PRIORITY、Thread.NORM_PRIORITY

线程状态 resume. notify,或 创建线程 就绪 stop notifyAll 结束 start 新建 调用yield,.或 调用stop run 用完时间片 或完成 stop 运行 阻塞 suspend, sleep,.或wait ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 线程状态 创建线程 新建 就绪 运行 结束 阻塞 start run 调用 yield, 或 用完时间片 调用 stop 或完成 stop suspend, sleep,或 wait stop resume, notify, 或 notifyAll
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 海南大学:《Java语言程序设计》课程电子教案(PPT教学课件)第十一章 异常处理.ppt
- 海南大学:《Java语言程序设计》课程电子教案(PPT教学课件)第六章 类的继承性.ppt
- 海南大学:《Java语言程序设计》课程电子教案(PPT教学课件)第八章 图形程序设计入门.ppt
- 海南大学:《Java语言程序设计》课程电子教案(PPT教学课件)第五章 使用对象对象与类编写程序.ppt
- 海南大学:《Java语言程序设计》课程电子教案(PPT教学课件)第二章 基本数据类型与基本操作.ppt
- 海南大学:《Java语言程序设计》课程电子教案(PPT教学课件)第九章 创建用户界面.ppt
- 海南大学:《Java语言程序设计》课程电子教案(PPT教学课件)第三章 控制语句.ppt
- 海南大学:《Java语言程序设计》课程电子教案(PPT教学课件)第七章 数组和向量.ppt
- 海南大学:《Java语言程序设计》课程电子教案(PPT教学课件)第一章 Java入门(主讲:杨厚群).ppt
- 海南大学:《Java语言程序设计》课程教学大纲 Java Programming.pdf
- 《Visual Basic程序设计》课程电子教案(PPT课件)第9章 界面设计.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第8章 文件.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第7章 图形操作.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第6章 常用控件.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第5章 数组.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第4章 基本的控制结构.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第3章 VB语言基础.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第2章 程序设计入门.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第1章 Visual Basic程序设计概述(海南大学:吴星).ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第10章 过程.ppt
- 海南大学:《Java语言程序设计》课程电子教案(PPT教学课件)第十二章 国际化.ppt
- 海南大学:《Java语言程序设计》课程电子教案(PPT教学课件)第十五章 输入输出.ppt
- 海南大学:《Java语言程序设计》课程电子教案(PPT教学课件)第十六章 网络.ppt
- 海南大学:《Java语言程序设计》课程电子教案(PPT教学课件)第十四章 多媒体.ppt
- 海南大学:《Java语言程序设计》课程电子教案(PPT教学课件)第十章 applet和高级图形界面.ppt
- 海南大学:《Java语言程序设计》课程电子教案(PPT教学课件)第四章 方法.ppt
- 石河子大学:《微机原理与接口技术》课程教学大纲(负责人:刘恩博).pdf
- 石河子大学:《微机原理与接口技术》课程授课教案(任课教师:李栓明).doc
- 石河子大学:《微机原理与接口技术》课程教学实验指导书(试用).doc
- 《微型计算机技术及应用》课程教材课件(PPT讲稿)第1章 微型计算机概述.pptx
- 《微型计算机技术及应用》课程教材课件(PPT讲稿)第2章 16位微处理器.pptx
- 《微型计算机技术及应用》课程教材课件(PPT讲稿)第3章 16位和32位微处理器的指令系统.pptx
- 《微型计算机技术及应用》课程教材课件(PPT讲稿)第5章 微型计算机和外设的数据传输.pptx
- 《微型计算机技术及应用》课程教材课件(PPT讲稿)第6章 串并行通信和接口技术.pptx
- 《微型计算机技术及应用》课程教材课件(PPT讲稿)第7章 中断控制器DMA控制器和计数器定时器.pptx
- 绍兴文理学院:《生物摄影》课程教学资源(讲义)生物摄影讲义(主讲:田润刚).pdf
- 华南农业大学:《大学计算机基础》课程教学课件(习题与解答)第一章 计算机及信息技术概述.doc
- 华南农业大学:《大学计算机基础》课程教学课件(习题与解答)第二章 计算机信息基础.doc
- 华南农业大学:《大学计算机基础》课程教学课件(习题与解答)第三章 计算机硬件体系结构.doc
- 华南农业大学:《大学计算机基础》课程教学课件(习题与解答)第五章 计算机软件技术基础.doc