单元九 多线程机制 课件(共26张PPT)-《计算机程序设计(Java)(第2版)》同步教学(机工版)

资源下载
  1. 二一教育资源

单元九 多线程机制 课件(共26张PPT)-《计算机程序设计(Java)(第2版)》同步教学(机工版)

资源简介

(共26张PPT)
单元九 多线程机制
授课学时:8学时
主讲:
教学目标
教学重点与难点
新课导入与项目展示
任务1-“随机摇号小工具”的界面设计
任务2-“随机摇号小工具”的功能实现
主要内容
教学目标
知识
目标
多线程的概念、作用
线程的创建方式
Thread类、Runnable接口以及二者的不同
熟悉线程类的常用方法
技能
目标
掌握多线程的创建方式
掌握Thread类中常见方法的使用
会对线程的运行状态进行控制
能使用Java的多线程机制解决实际问题
教学重点及难点
教学
重点
线程的创建和运行方式
教学
难点
线程状态的控制
利用多线程解决实际编程中的问题
新课导入与项目展示
利用本章将要学习的Java多线程技术,编程开发一个“随机摇号小工具”。
项目描述
项目展示
任务1:“随机摇号小工具”的界面设计
任务分析
根据项目描述的要求,项目界面中所需基本组件的类型、数量和作用分别为:
窗体:“随机摇号小工具”程序的主显示窗口;
按钮:需要八个按钮,其中六个用于号码窗口显示数字,一个用于“开始摇号”,一个用于“停止”;
任务1:“随机摇号小工具”的界面设计
相关知识点
JFrame容器的基本应用;
JButton组件的基本应用;
任务1:“随机摇号小工具”的界面设计
任务实施
设计过程:
创建窗体类Lottery,该类继承于JFrame类,并在该窗体中添加按钮控件,各个控件及说明如下表所示:
代码实现:
【程序文件1:Lottery.java】
任务1:“随机摇号小工具”的界面设计
技能拓展任务
对程序文件1进行修改,实现当单击“停止”按钮时,可以将用户所摇号码输出到一个“编辑框”之中。
任务2:“随机摇号小工具”的功能实现
任务分析
根据项目的功能要求,该任务需要具体实现的功能包括:
设计6个子线程分别控制6个号码窗口中数字的滚动;
通过单击“开始摇号”按钮能够实现对6个子线程的启动操作,通过单击“停止”按钮能够实现对6个子线程的终止操作。
任务2:“随机摇号小工具”的功能实现
相关知识点
进程与线程:
进程是程序的一次动态且完整的执行过程,这个过程是进程本身从产生、发展到消亡的过程;
线程是比进程更小的执行单位,是进程中的一个个独立流;
多线程指同一个应用程序中有多个线程在同一段时间内共同执行;
任务2:“随机摇号小工具”的功能实现
相关知识点
Java中多线程的实现方法:
方法一:继承Thread类
【格式9-1:继承Thread类实现多线程】
class 类名extends Thread{ //继承Thread类
成员变量; //定义线程类的成员变量
成员方法; //定义线程类的成员方法
public void run(){//重写父类Thread的run()方法
线程主体的实现;
}
}
任务2:“随机摇号小工具”的功能实现
实例9-1:定义一个线程类
【学习目标】掌握利用继承Thread类创建线程的方法;
【知识要点】Thread类的构造方法,抽象方法run()的使用;
【完成步骤】
1.编写程序;
2.编译并运行程序。
任务2:“随机摇号小工具”的功能实现
相关知识点
线程的启动:
public void start()
该方法的作用是使当前线程开始执行,Java虚拟机会调用该线程的run()方法。
任务2:“随机摇号小工具”的功能实现
实例9-2:启动一个线程
【学习目标】掌握线程的启动方法;
【知识要点】Thread类中start()方法的使用;
【完成步骤】
1.编写程序;
2.编译并运行程序。
任务2:“随机摇号小工具”的功能实现
相关知识点
Java中多线程的实现方法:
方法二:实现Runnable接口
【格式9-2:实现Runnable接口实现多线程】
class 类名implements Runnable{//实现Runnable接口
成员变量; //定义线程类的成员变量
成员方法; //定义线程类的成员方法
public void run(){//重写接口Runnable的run()方法
线程主体的实现;
}
}
任务2:“随机摇号小工具”的功能实现
实例9-3:实现一个线程类
【学习目标】掌握利用Runnable接口实现多线程的方法;
【知识要点】Runnable接口中run ()方法的使用;
【完成步骤】
1.编写程序;
2.编译并运行程序。
任务2:“随机摇号小工具”的功能实现
相关知识点
Thread类的构造方法:
public Thread(Runnable target)
通过Runnable接口的子类对象来创建一个新的Thread对象。
任务2:“随机摇号小工具”的功能实现
实例9-4:启动一个线程
【学习目标】掌握利用Runnable接口实现线程的启动方法;
【知识要点】Thread类特殊构造方法的使用;
【完成步骤】
1.编写程序;
2.编译并运行程序。
任务2:“随机摇号小工具”的功能实现
相关知识点
Thread类和Runnable接口的区别:
由于Java中接口可以多实现,类只能单继承,所以使用Runnable接口实现多线程可以避免单继承机制所带来的限制。
使用Runnable接口可以实现多个线程共享程序中的相关资源。
任务2:“随机摇号小工具”的功能实现
实例9-5、9-6: Thread和Runnable的区别
【学习目标】理解Thread类与Runnable接口实现线程的区别;
【知识要点】掌握如何使多个线程共享程序中的相关资源;
【完成步骤】
1.编写程序;
2.编译并运行程序。
任务2:“随机摇号小工具”的功能实现
相关知识点
Thread类的常用方法:
任务2:“随机摇号小工具”的功能实现
相关知识点
Thread类的常用方法:
任务2:“随机摇号小工具”的功能实现
实例9-7~9: Thread常见方法的使用
【学习目标】掌握Thread类常见方法的使用;
【知识要点】理解Thread类常用方法的含义及用法;
【完成步骤】
1.编写程序;
2.编译并运行程序。
任务2:“随机摇号小工具”的功能实现
任务实施
根据前面介绍的Java多线程的相关知识,“随机摇号小工具”的功能实现过程和详细代码如下:
设计过程:
首先,通过继承Thread类的方法增加一个线程类NumBoardThread,实现号码窗口中数字的“滚动”效果。详见程序文件2;
其次,对程序文件1的Lottery类进行修改,实现相关按钮的单击事件处理以及与线程类的交互。详见程序文件3。
代码实现:
【程序文件2:NumBoardThread.java】
【程序文件3:Lottery.java】
任务2:“随机摇号小工具”的功能实现
技能拓展任务
请利用多线程的第二种实现方法,并参考上述任务2的实施过程,编写程序再次完成该项目。

展开更多......

收起↑

资源预览