版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第课多线程(二)第课多线程(二)24PAGE2《Java程序设计教程》教案--第24课多线程(二)
课题多线程(二)课时2课时(90min)教学目标知识技能目标:(1)了解线程安全(2)掌握线程同步机制及语法格式(3)掌握线程通信的基本知识(4)通过上机实操,将所学知识与实际应用相结合思政育人目标:(1)引导学生通过对修饰符访问范围的学习,来编写简单的程序,树立学生实事求是、一丝不苟的科学精神(2)引导学生运用所学知识揭示生活中的奥秘,在实践中深化认识,达到学以致用的目的教学重难点教学重点:synchronized修饰的语法格式教学难点:将所学知识与实际应用相结合教学方法情景模拟法、问答法、讨论法教学用具电脑、投影仪、多媒体课件、教材教学设计第1节课:传授新知(33min)
知识拓展(5min)第2节课:上机实操1(20min)
课堂演示(20min)
课堂小结(3min)
作业布置(2min)教学过程主要教学内容及步骤设计意图第一节课课前任务【教师】布置课前任务,和学生负责人取得联系,让其提醒同学复习上节课所学知识【学生】复习上节课所学知识通过课前复习,让学生重温上节课所学知识,使其能够更好地接受新知识考勤
(2min)【学生】按照老师要求签到培养学生的组织纪律性,掌握学生的出勤情况《Java程序设计教程》教案--第24课多线程(二)全文共7页,当前为第1页。问题导入
(5min)《Java程序设计教程》教案--第24课多线程(二)全文共7页,当前为第1页。【教师】提出以下问题:大家在使用线程的时候,有没有发现这样一个问题:如果涉及到多个线程对同一个变量进行操控,会时常抛出这样一个错误:java.lang.NullPointException(空指针异常)或者java.lang.ArrayIndexOutOfBoundsException(数组越界)。产生这个问题的原因是线程不同步引起的。那么怎样才能实现线程同步?【学生】思考、讨论、举手发言通过问题导入,引导学生思考,调动学生的主观能动性传授新知
(33min)【教师】通过大家的发言,引入新的知识点,讲解线程的同步10.5.1线程安全在程序中运行多个线程时,可能会发生的问题:当两个或多个线程同时访问同一个变量,并且线程需要修改这个变量时,程序中可能会出现预想不到的后果。10.5.2线程同步机制1.同步块使用synchronized修饰的代码块称为同步块,也称为临界区,通常将共享资源的操作放在同步块中。语法格式synchronized(Object){}Object表示任意一个对象。【教师】演示例题10-7【学生】观看程序运行结果【教师】对程序进行分析:tA、tB、tC和tD是基于同一个SyncTest类对象t创建的线程,因此,它们是互斥的,因为在执行同步块时会锁定当前的对象,只有执行完该同步块才能释放该对象锁,下一个线程才能执行并锁定该对象。【学生】聆听、理解、记录2.同步方法使用synchronized修饰的方法称为同步方法语法格式synchronizedvoidmethod(){}synchronized也可以修饰一个静态方法,如synchronizedstaticvoidmethod()。由于静态方法属于类,因此,synchronized修饰的静态方法锁定的是这个类的所有对象。10.5.3线程通信《Java程序设计教程》教案--第24课多线程(二)全文共7页,当前为第2页。(1)当一个线程正在使用一个同步块或同步方法时,其他线程不能使用该同步块或同步方法。对于同步方法,有时可能会涉及一些特殊情况。《Java程序设计教程》教案--第24课多线程(二)全文共7页,当前为第2页。(2)当一个线程使用的同步方法用到某个变量,而此变量又需要其他线程修改后才能符合本线程的需要,那么可以在同步方法中使用wait()方法。【教师】演示例题10-8,并对重要语句进行分析【学生】聆听、理解、记录【学生】聆听、思考、理解、记忆通过教师在课堂上对随机文件流的构造方法和常用方法的讲解,使学生熟练掌握其编程方法知识拓展
(5min)【教师】讲解线程同步的小技巧【学生】聆听、记录、思考学生可进一步巩固知识第二节课上机实操
(20min)【教师】组织学生在机房使用文本编辑编写程序,运用课堂所学知识和基础在Java运行环境中编写程序,实现以下目的:模拟产品生产与消费系统。生产者不断地生产产品,而消费者则不断地消费产品。要求生产产品的最大数量为3,且必须先有产品,消费者才能消费产品。【学生】上机实操,模拟产品生产与消费系统【教师】巡视机房,及时解决学生遇到的问题通过上机实操,使学生熟练掌握使用Account类编写程序的方法《Java程序设计教程》教案--第24课多线程(二)全文共7页,当前为第3页。课堂演示
(20min)《Java程序设计教程》教案--第24课多线程(二)全文共7页,当前为第3页。【教师】带领学生分析上机操作中出现的问题,并作出分析【问题分析】(1)定义生产者线程类Producer,包含成员变量list和有参构造方法(将共享list赋给list),然后在重写的run()方法中循环执行同步块,同步对象为list。同步块中,当list大小等于3时,当前线程进入等待状态,否则向list中添加一个产品,并输出产品数量,然后通过list调用notifyAll()方法唤醒其他线程后,线程休眠1s。(2)定义消费者线程类Consumer,包含成员变量list和有参构造方法(将共享list赋给list),然后在重写的run()方法中循环执行同步块,同步对象为list。同步块中,当list为空时,当前线程进入等待状态,否则删除list中第一个产品,并输出产品数量,然后通过list调用notifyAll()方法唤醒其他线程后,线程休眠0.3s。(3)定义公共类,在main()方法中定义共享list,保存产品,然后创建一个Producer类对象producer和两个Consumer类对象consumer1和consumer2,最后启动这3个线程。【教师】利用多媒体演示具体操作过程《Java程序设计教程》教案--第24课多线程(二)全文共7页,当前为第4页。【参考代码】《Java程序设计教程》教案--第24课多线程(二)全文共7页,当前为第4页。《Java程序设计教程》教案--第24课多线程(二)全文共7页,当前为第5页。《Java程序设计教程》教案--第24课多线程(二)全文共7页,当前为第5页。《Java程序设计教程》教案--第24课多线程(二)全文共7页,当前为第6页。【运行结果】《Java程序设计教程》教案--第24课多线程(二)全文共7页,当前为第6页。【学生】上机实操,根据老师的演示上机实操总结自己的不足通过演示让学生找出自己的不足,从而牢固的掌握知识点课堂小结
(3min)【教师】简要总结本节课的要点本节课学习了多线程通过同步机制解决线程安全问题的方法以及使用synchronized关键字修饰代码块或方法实现线程同步。并通过上机实操让大家熟练掌握了怎样使用Account类简单小程序。希望大家课下多加练习,巩固所学知识。【学生】总结回顾知识点总结知识点,巩固印象作业布置
(2min)【教师】布置课后作业模拟3个人排队买早餐。张先生、王先生和李先生买早餐,早餐5元一份,早餐店老板手上只有3张5元的人民币。张先生用一张20元的人民币排在王先生的前面买早餐,王先生用一张10元的人民币排在李先生的前面买早餐,李先生用一张5元的人民币买早餐。【学生】完成课后任务延展知识面,多学科交叉学习教学反思本节课主要以上机实操,学生的学习
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 云计算人力管理方案
- 2026年甘肃省金昌市遴选和选调公务员17人考试备考试题及答案解析
- 2026年薯条行业分析报告及未来发展趋势报告
- 2026年图形化蓝宝石衬底行业分析报告及未来发展趋势报告
- 2026年头孢呋肟氨甲酸酯行业分析报告及未来发展趋势报告
- 污水系统管网管径核查方案
- 2026年飞机调度行业分析报告及未来发展趋势报告
- 2026年石油助剂行业分析报告及未来发展趋势报告
- 2026广东中山大学附属第三医院招聘事业单位人员29人(第二批)笔试备考题库及答案解析
- 施工现场动火作业方案
- 2024人教版一年级美术上册全册教案
- 学校国家义务教育质量监测应急预案
- FSSC22000 V6食品安全管理体系管理手册及程序文件
- 工艺规程设计
- 王安石待客的课件
- 支委会召开流程
- 部队个人酒驾安全预案
- 政务服务工作汇报课件
- T-GDWHA 0020-2025 一体化泵闸设计制造安装及验收规范
- 涉台教育主题班会课件
- 肠内营养管路维护与护理
评论
0/150
提交评论