北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第十二讲 多线程

第十二讲多线程 21/2/24 北京理工大学计算机系(共28页)
2021/2/24 北京理工大学计算机系(共28页) 1 第十二讲 多线程

介绍 ■什么是并行计算?为什么要采用并行计 算? 并行计算功能一般是由OS提供的。 ■在多CPU的计算机上,多线程 ( multithreading可以实现并行计算。 ■]ava提供了内嵌多线程的功能 21/2/24 北京理工大学计算机系(共28页)
2021/2/24 北京理工大学计算机系(共28页) 2 介绍 ◼ 什么是并行计算?为什么要采用并行计 算? ◼ 并行计算功能一般是由OS提供的。 ◼ 在多CPU的计算机上,多线程 (multithreading)可以实现并行计算。 ◼ Java提供了内嵌多线程的功能

线程与进程 ■理解线程与进程的概念 21/2/24 北京理工大学计算机系(共28页)
2021/2/24 北京理工大学计算机系(共28页) 3 线程与进程 ◼ 理解线程与进程的概念

1线程对象 21/2/24 北京理工大学计算机系(共28页)
2021/2/24 北京理工大学计算机系(共28页) 4 1 线程对象

开发多线程程序最简单的方法 定义一个类,继承自 Thread类重载其 public void run(方法 实例: EraserThread java (1)先看一下无线程情况 (2)自定义一个 EraserThread类 (3)主程序中启动线程 21/2/24 北京理工大学计算机系(共28页)
2021/2/24 北京理工大学计算机系(共28页) 5 开发多线程程序最简单的方法 ◼ 定义一个类,继承自Thread类,重载其 public void run() 方法 ◼ 实例:EraserThread.java (1)先看一下无线程情况 (2)自定义一个EraserThread类 (3)主程序中启动线程

Thread类 提供了控制线程的几个方法 构造函数 public Thread( string threadName public Thread( 重载run方法,定义要以多线程方式完成的工作。 Sleep(): makes thread inactive Interrupt(): interrupts a running thread sAlive o: checks status of a thread setName(): sets a thread's name ■Join(): Waits for this thread to finish (等待本线程停止) 2021/224 北京理工大学计算机系(共28页)
2021/2/24 北京理工大学计算机系(共28页) 6 Thread类 ◼ 提供了控制线程的几个方法 ◼ 构造函数: public Thread( String threadName ) public Thread() ◼ 重载 run方法,定义要以多线程方式完成的工作。 ◼ Sleep(): makes thread inactive ◼ Interrupt(): interrupts a running thread ◼ isAlive ():checks status of a thread ◼ setName(): sets a thread’s name ◼ Join(): – Waits for this thread to finish – (等待本线程停止)

多线程第二种方法 一个类实现 java. lang Runable接口即 可,同样实现一个 public void run(方 法 实例: EraserDemo 更复杂的实例: ThreadTest 21/2/24 北京理工大学计算机系(共28页)
2021/2/24 北京理工大学计算机系(共28页) 7 多线程第二种方法 ◼ 一个类实现java.lang.Runable接口即 可,同样实现一个public void run()方 法. ◼ 实例:EraserDemo ◼ 更复杂的实例:ThreadTest

线程的生命周期 ■ Thread的状态 Born:(创建) Thread was just created Ready:(就绪) Thread's start method invoked Thread can now execute Running:(运行) Thread is assigned a processor and running Dead state:(死亡) a Thread has completed or exited Eventually disposed of by system 21/2/24 北京理工大学计算机系(共28页)
2021/2/24 北京理工大学计算机系(共28页) 8 线程的生命周期 ◼ Thread的状态 – Born:(创建) ◼ Thread was just created – Ready:(就绪) ◼ Thread’s start method invoked ◼ Thread can now execute – Running :(运行) ◼ Thread is assigned a processor and running – Dead state:(死亡) ◼ Thread has completed or exited ◼ Eventually disposed of by system

线程状态转换体现了一个线程的生命周期 hta q uantum exp rat i n d isp at ch yield (a ssign a inte rupt p proce sson 〈 running ra ting see ping de ad bloc ked 21/2/24
2021/2/24 北京理工大学计算机系(共28页) 9 线程状态转换体现了一个线程的生命周期

线程状态转换示例 中断一个线程: InterruptDemo java 线程调用Seep进入睡眠状态,用 Interrupt方法中断它 ■需要仔细分析程序流程 21/2/24 北京理工大学计算机系(共28页)
2021/2/24 北京理工大学计算机系(共28页) 10 线程状态转换示例 ◼ 中断一个线程: InterruptDemo.java ◼ 线程调用Sleep进入睡眠状态,用 Interrupt方法中断它 ◼ 需要仔细分析程序流程
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第十三讲 图形程序设计.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第十一讲 反射与序列化.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第九讲 范型程序设计.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)Java考试指导.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第四讲 方法.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第六讲 继承与多态.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第八讲 异常处理.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第五讲 创建与使用类.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第七讲 接口与数据结构.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)Java开发Application.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第二讲 Java应用程序与Applet.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第三讲 Java语法基础.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第一讲 Java导论与Java开发环境(主讲:金旭亮).ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(学生作业)面向对象文档.doc
- 湖南农业大学:《计算机组成原理教案》第一章 计算机系统概论(蒋邵平).ppt
- 湖南农业大学:《计算机组成原理教案》第五章 中央处理器(蒋邵平).ppt
- 湖南农业大学:《计算机组成原理教案》第三章 存储系统(蒋邵平).ppt
- 湖南农业大学:《计算机组成原理教案》第七章 显示器(蒋邵平).ppt
- 湖南农业大学:《计算机组成原理教案》第六章 总线的基本概念(蒋邵平).ppt
- 湖南农业大学:《计算机组成原理教案》第二章 数据格式(蒋邵平).ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第十五讲 面向对象理论小结.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第十四讲 事件处理模型与GUI图形界面设计.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第十讲 文件与流操作.ppt
- 《网络教程习题》1-14操作题.doc
- 《网络教程习题》15-30操作题.doc
- 《网络教程习题》31-43操作题.doc
- 《网络教程习题》44-53操作题.doc
- 《网络教程习题》54-68操作题.doc
- 《网络教程习题》69-72操作题.doc
- 《网络教程习题》73-79操作题.doc
- 《网络教程习题》80-81操作题.doc
- 《vb教学课程》第七章 数组.ppt
- 《vb教学课程》第六章 过程.ppt
- 《vb教学课程》第六章 常用控件与多窗体.ppt
- 《vb教学课程》第十章 高级界面设计.ppt
- 《vb教学课程》第五章 文件.ppt
- 《vb教学课程》第一章 Visual Basic程序设计概述.ppt
- 《vb教学课程》第二章 VB基本控件及简单程序设计.ppt
- 《vb教学课程》第三章 数据与表达式.ppt
- 《vb教学课程》第四章 顺序结构程序设计.ppt