课程教案
章节名称
第9章 Java多线程机制
课程类型
理论课□ 讨论课□ 习题课□ 实验课□ 上机课□ 技能课□ 其他□
授课时间
教学进度
学生考勤
应到: 实到:
请假: 旷课:
教学方法
讲授、板书
目的要求:
掌握线程的概念、Java线程调度思想、优先级及线程的状态转换关系;了解Thread类的常用方法;掌握继承Thread类和实现Runnable接口两种编写线程的方法;掌握线程资源的同步处理方法。
重点难点:
线程的概念;继承Thread类和实现Runnable接口两种编写线程的方法;线程资源的同步处理方法。
课后作业:
P261:1,2,7,13
作业批改记录:
教学后记:
教学内容与教学组织设计(100分钟):
1. 复习上次课内容(5分钟)
2.课堂导引(5分钟):
实际应用中经常需要处理多项任务,可以使用多线程并发执行。Java在系统级和语言级均提供了对多线程的支持。
运行一个应用多线程的例子(5分钟):引入多线程的创建与使用。
3. 教学内容及时间分配( 85 分钟):
(1)Java线程的概念(5分钟)
①多进程
多进程的缺点:进程切换开销大;进程间的通信很不方便。
② 多线程
多线程则指的是在单个程序中可以同时运行多个不同的线程,执行不同的任务线程切换的开销小。
③线程的状态。
④线程调度与优先级。
Java采用抢占式调度策略
下面几种情况下,当前线程会放弃CPU:当前时间片用完;线程在执行时调用了yield() 或sleep()
方法主动放弃;进行I/O
访问,等待用户输入,导致线程阻塞;或者为等候一个条件变量,线程调用wait()方法;有高优先级的线程参与调度。
(2)Thread的子类创建线程的使用方法以及应用举例(15分钟):
(3)使用Runable接口创建线程的使用方法以及应用举例(10分钟)
(4)线程的常用方法以及应用举例(15分钟):
①常用方法有:start()、run() 、sleep(int millsecond)、isAlive() 、
currentThread() 、interrupt()
② 应用举例。
(5) GUI线程的使用方法以及应用举例(10分钟):
(6)线程同步(5分钟)
(7)在同步方法中使用wait()、notify 和notifyAll()方法(5分钟)
(8)挂起、恢复和终止线程(5分钟)
(9)计时器线程Timer(5分钟)
(10)线程联合(5分钟)
(11)守护线程(5分钟)
4. 课堂小结(5分钟)。
总结关于多线程的内容,指出重点难点,最后布置作业。