Java 程序设计案例教程 教案 第10章 多线程_第1页
Java 程序设计案例教程 教案 第10章 多线程_第2页
Java 程序设计案例教程 教案 第10章 多线程_第3页
Java 程序设计案例教程 教案 第10章 多线程_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第10章多线程一、授课信息授课学时:理论4学时+实训2学时(共6学时)授课对象:计算机相关专业学生二、教学目标知识目标理解进程与线程的概念及区别;掌握线程的两种创建方式(继承Thread类、实现Runnable接口);理解线程的生命周期及状态转换;掌握线程调度相关方法(sleep、yield、join、优先级);理解线程安全问题及同步机制(synchronized);了解死锁的概念及产生条件。能力目标能够创建并启动多线程程序;能够使用线程调度方法控制执行顺序;能够使用同步机制编写线程安全的代码;能够分析并避免简单的死锁。素质目标培养对并发复杂性的敬畏之心;养成对共享数据访问保持警惕的习惯;形成在设计和编码阶段规避并发风险的意识。三、教学重点与难点重点:线程的创建、生命周期、同步机制。难点:线程安全问题的理解、synchronized的使用、死锁的避免。四、教学方法与手段讲授法+图示法+案例演示通过状态图展示线程生命周期通过银行取款案例引出线程安全实训驱动五、教学准备多媒体课件(PPT)示例代码六、教学过程设计理论讲授(4学时)第1次课(2学时):线程概述、创建、生命周期教学环节时间教师活动学生活动导入5分钟提问:如何让程序同时做多件事?引出多线程。思考回答。新知讲授1:进程与线程15分钟讲解进程与线程的概念、对比(资源分配、通信方式、切换开销);通过生活中的例子(车间与工人)帮助理解。听讲,理解区别。新知讲授2:线程的创建25分钟讲解两种创建方式:继承Thread类(重写run方法)、实现Runnable接口(实现run方法);对比两种方式的优缺点;演示创建并启动线程。听讲,模仿编写简单线程。新知讲授3:线程生命周期20分钟讲解线程的五个状态(NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING、TERMINATED)及转换条件;通过代码演示状态变化(Thread.getState())。听讲,理解状态流转。练习15分钟编写程序:创建两个线程,分别打印数字,观察交替执行。动手练习。小结10分钟总结线程创建方式和生命周期。记录。第2次课(2学时):线程调度、同步、死锁教学环节时间教师活动学生活动导入5分钟提问:多个线程访问共享变量会有什么问题?引出线程安全。思考回答。新知讲授1:线程调度15分钟讲解优先级、sleep、yield、join的作用及区别;演示使用join等待子线程结束。听讲,理解调度方法。新知讲授2:线程安全问题20分钟通过银行取款案例(两个线程同时取款)演示数据不一致问题;分析问题原因(原子性破坏)。观察现象,理解问题。新知讲授3:同步机制20分钟讲解synchronized关键字(同步代码块、同步方法),锁对象的选择;演示使用同步解决银行取款问题。听讲,掌握同步语法。新知讲授4:死锁10分钟讲解死锁的概念、产生四个必要条件;演示经典死锁代码;介绍避免死锁的常见策略。听讲,理解死锁危害。练习15分钟编写一个简单的同步示例(如计数器),尝试制造死锁并分析。动手练习,分析。综合实训(2学时):生产者-消费者问题教学环节时间教师活动学生活动任务发布5分钟发布实训任务:使用wait/notify实现生产者-消费者问题(缓冲区大小为1)。理解需求。需求分析与设计20分钟引导学生分析需要共享的Store类,包含product(库存)和synchronized的produce、consume方法;使用while循环判断条件,使用wait阻塞,使用notify唤醒。小组讨论,画出流程图。编码实现55分钟巡回指导,关注wait/notify的调用必须持有锁、wait必须在循环中使用、避免死锁。编程实现。测试与展示15分钟运行程序,观察生产者和消费者交替执行;邀请学生展示,点评代码。测试,展示,互评。总结5分钟总结线程通信

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论