文档详情

Java程序设计基础教程(慕课版)(第2版) 教案 第10单元 并发编程.docx

发布:2025-05-24约2.63千字共4页下载文档
文本预览下载声明

PAGE1

PAGE

第10单元并发编程

课程名称

Java程序设计基础教程

(慕课版)

项目名称

并发编程

任务名称

并发编程

课时

6

项目性质

□演示性□验证性□设计性√综合性

授课班级

授课日期

授课地点

教学目标

能力目标:

1.具备创建线程的能力

2.具备调度线程的能力

3.具备使用多线程解决问题的能力

知识目标:

了解进程和线程的区别和联系

掌握线程的创建和调度方法

掌握多线程的应用

素质目标:

1.培养学生知识掌握和技能运用能力

2.培养学生团结合作、互帮互助的能力;

教学内容

1.任务描述

2.任务展示与实现

(1)需要处理的是文件夹,

(2)如果当前文件夹下有子文件夹,则将子文件夹当作另一个任务,加入到处理任务链表中来

(3)汇总所有任务的计算结果,即指定文件夹的总大小

3.教师讲解本任务涉及的知识点

4.任务小结

教学重点

线程的创建

线程的调度

教学难点

继承Thread类

同步与互斥

教学准备

1.装有JDK、Eclipse的电脑

2.教学课件PPT

3.教材:《Java程序设计基础教程(慕课版)》董勇傅雷扬人民邮电出版社

作业设计

实现MapReduce的并发

教学过程

教学

环节

教学内容与过程

(教学内容、教学方法、组织形式、教学手段)

课前组织

做好课前“5分钟”教学管理(多媒体、实训室),做好上课前的各项准备工作(打开电脑、打开课件、打开软件、打开U盘中的素材位置、打开授课计划、教案等),吸引学生注意力。

课程

说明

【课前说明】

本章讲解了进程和线程的区别和联系、线程的创建方式、线程的调度问题,梳理了线程的5种状态:新建、就绪、阻塞以及运行状态和死亡状态,涉及线程的休眠、同步和死锁等问题也都做了讲解;并讲解了线程池技术和带有返回值的Callable对象和接收返回值的Future对象,对Future对象的isDone()方法和get()方法做了简单介绍。

【目的】

使学生从了解本单元的学习目标、学习重点、考评方式等方面明确学习本单元知识的要求和目标。

课程

内容

描述

讲解线程的创建方法

线程的创建方式,一种是继承Thread类,另一种是实现Runnable接口,继承Thread类后可以直接调用start()方法启动线程,而实现Runnable接口则需要使用Thread类进行包装后方可调用start()方法。

讲解线程的调度方法

梳理了线程的5种状态:新建、就绪、阻塞以及运行状态和死亡状态,涉及线程的休眠、同步和死锁等问题也都做了讲解。

讲解多线程的使用

Java中的线程池技术是运行场景最多的并发框架,几乎所有需要异步或者并发执行任务的程序都可以使用线程池技术。合理使用线程池技术可以降低线程创建和销毁造成的消耗,提高相应速度和提高线程的可管理性。Callable用法和Runnable类似,只不过调用的是call()方法,而不是run()方法,该方法有一个泛型返回值类型,可根据需要指定。

案例:

Thread实现多线程

publicclassThreadDemo{

publicstaticvoidmain(String[]args){

for(inti=0;i10;i++){

//创建10个MyThread类的对象,并运行

MyThreadthread=newMyThread();

thread.start();

}

}

}

//继承了Thread类的类

classMyThreadextendsThread{

@Override

publicvoidrun(){//重写父类的run方法

for(inti=0;i3;i++){//循环打印输出信息

System.out.println(Thread.currentThread().getName()+-正在执行!);

}

}

}

计划任务线程池

publicclassSchedulePoolDemo{

publicstaticvoidmain(String[]args){

ScheduledExecutorServicees=Executors.newScheduledThreadPool(1);//创建一个计划任务线程池,参数表示线程池的个数

显示全部
相似文档