Java程序设计_徐红 王灿_电子课件22_单元5_任务3.ppt

Java程序设计_徐红 王灿_电子课件22_单元5_任务3.ppt

ID:51617546

大小:598.50 KB

页数:22页

时间:2020-03-26

Java程序设计_徐红 王灿_电子课件22_单元5_任务3.ppt_第1页
Java程序设计_徐红 王灿_电子课件22_单元5_任务3.ppt_第2页
Java程序设计_徐红 王灿_电子课件22_单元5_任务3.ppt_第3页
Java程序设计_徐红 王灿_电子课件22_单元5_任务3.ppt_第4页
Java程序设计_徐红 王灿_电子课件22_单元5_任务3.ppt_第5页
资源描述:

《Java程序设计_徐红 王灿_电子课件22_单元5_任务3.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、任务三:飘动字幕动画程序设计单元五:Java语言高级程序设计教学目标知识目标掌握线程的概念以及线程与进程的区别;理解线程的状态和生命周期;掌握Thread类和Runnable接口的常用方法。能力目标运用多线程的实现方法处理线程问题;能会继承Thread类或实现Runnable接口来完成多线程技术实现。教学内容4任务陈述123知识准备任务实施任务拓展任务实训5任务描述:运用Java多线程技术编写一个简单的动画,要求运行程序时窗口会显示一个飘动的字幕,每隔1秒字幕会自动改变显示的位置,先自左向右移动,到达窗口右边界时,再改变为自右向左移动。运行结果:1.任务陈述

2、计算机用来模拟和解决人们现实生活中问题,因此使用编程语言描述现实世界同样需要串、并行共存。计算机中的并行处理即同时处理多个任务,一般叫“多任务”。多任务处理方式的优点是充分利用CPU资源,提高效率。含有多个CPU的计算机可将不同任务分配到不同CPU实现并行处理;单CPU则靠快速切换任务来模拟并行处理,使系统的空转时间最少。2.知识准备3.1线程与进程的概念和关系3.1.1线程与进程的概念程序(program)是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。进程(Process)是程序关于某个数据集合上的一次运行活动,对应了从代码加载、执行至

3、执行完毕的一个完整过程,是系统进行资源分配和调度的一个独立单位。线程(Thread)是进程的一个实体,CPU调度和分派的基本单位,是比进程更小的能独立运行的基本单位。2.知识准备3.1.2线程与进程的关系一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。操作系统把资源分配给进程,而同一进程的所有线程共享该进程的所有资源。进程和线程的关系可以比喻成:当打开Word(Office中的Word)程序,编写工作计划.doc文件---打开一个进程而当执行这个文件的打印工作---调用了Word中的一个线程线程是作为CPU调度和分配的基本单位,而进程是

4、拥有资源的基本单位。2.知识准备3.2线程的生命周期一个线程都要经历一个从出现到死亡的过程,我们把这个过程称之为生命周期。线程的生命周期包括4种状态:New(新生)、Runnable(可运行)、Blocked(被阻塞)和Dead(死亡)。2.知识准备3.2.1新生状态当使用new操作符创建一个新的线程时,线程并不是马上进行运行,此时线程处在新生(new)状态。3.2.2可运行状态当处于新生状态的线程调用了start方法后,线程就开启了成为了可运行(Runnable)了。3.2.3被阻塞状态当线程在可运行状态下执行了睡眠(sleep)、阻塞I/O操作、等待(w

5、ait)等操作后,线程就进入了被阻塞状态,另一个线程就可以被调度运行了。3.2.4死亡状态线程在可运行状态下经过一个正常的run方法结束完成自然死亡。再有就是可以使用stop方法来杀死一个线程,同时抛出一个ThreadDeath错误对象。2.知识准备注意:Java规范中并没有把运行单独作为一个状态,因为即使调用了start方法,是否接着运行还要看CPU是否有空闲调用。3.3线程的创建3.3.1Thread类的简介Thread类是Java提供用来的创建线程的核心类,存在于java.lang包中,它综合了一个线程所需的属性和方法,可以使用该类进行线程的创建、线程

6、的常用操作以及设置线程优先级等。常用方法:构造方法:publicThread():创建一个新的线程对象。publicThread(Stringname):创建一个名字为name的新线程对象。publicThread(Runnabletarget,Stringname):在现有的target对象基础上创建一个名字为name的线程对象,新的对象实际上是把target作为了运行对象。2.知识准备常用方法:publicvoidstart():启动线程。如果能获得CPU的使用权就会自动执行调用run()方法。publicvoidrun():这是Thread线程类中最重

7、要的方法,是线程执行的起点,线程具体的操作都要编写在此方法中。publicstaticvoidsleep(longmills):使正在运行的线程休眠mills好秒后再运行。publicfinalgetPriority():获得线程的优先级。publicfinalsetPriority(intpriority):设置线程的优先级。publicfinalbooleanisAlive():判断线程是否在活动,如果是返回true,否则返回false。2.知识准备3.3.2Runnable接口Java不支持多继承。一旦一个类继承了Thread类,就不能再继承其他的类。

8、用户若想让其他类支持多线程,那么这个类还可以通过实现

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。