Java语言程序设计案例教程 教学课件 作者 陈炜 第7章.ppt

Java语言程序设计案例教程 教学课件 作者 陈炜 第7章.ppt

ID:50325301

大小:389.00 KB

页数:26页

时间:2020-03-08

Java语言程序设计案例教程 教学课件 作者 陈炜 第7章.ppt_第1页
Java语言程序设计案例教程 教学课件 作者 陈炜 第7章.ppt_第2页
Java语言程序设计案例教程 教学课件 作者 陈炜 第7章.ppt_第3页
Java语言程序设计案例教程 教学课件 作者 陈炜 第7章.ppt_第4页
Java语言程序设计案例教程 教学课件 作者 陈炜 第7章.ppt_第5页
资源描述:

《Java语言程序设计案例教程 教学课件 作者 陈炜 第7章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章线程及其操作传统的程序设计语言,其程序在同一时刻只能单任务操作,效率非常低。例如程序往往在接收数据输入时发生阻塞,只有等到程序获得数据后才能继续运行。因此,很多时候,在程序设计中,我们需要编写具有多线程的程序,以便提高程序执行效率和处理能力。本章要点7.1线程的实现7.2线程的状态及调度7.3线程的同步思考与练习77.1线程的实现7.1.1线程的定义程序是一段静态的代码,它是应用软件执行的蓝本。平常所说的多任务就是在操作系统中同时运行几个相同或不相同的应用程序,每个程序占用一个进程。进程是程序的一次动态执行过程,它对应了从代码加载、执行到执行

2、完毕的一个完整过程,这个过程也是进程本身从产生、发展到消亡的过程。作为执行蓝本的同一段程序,可以被多次加载到系统的不同内存区域分别执行,形成不同的进程。线程与进程相似,是一段完成某个特定功能的代码,是程序中单个顺序的流控制;但与进程不同的是,同类的多个线程是共享一块内存空间和一组系统资源,而线程本身的数据通常只有微处理器的寄存器数据,以及一个供程序执行时使用的堆栈。所以系统在产生一个线程,或者在各个线程之间切换时,负担要比进程小的多。一个进程中可以包含多个线程。7.1线程的实现7.1.1线程的定义一个线程是一个程序内部的顺序控制流。多进程是指在操作

3、系统中,能同时运行多个任务程序。多线程是指在同一应用程序中,有多个顺序流同时执行。多任务与多线程是两个不同的概念。前者是针对操作系统而言的,表示操作系统可以同时运行多个应用程序;后者是针对一个程序而言的,表示一个程序内部可以同时执行多个线程。多线程的程序能更好地表述和解决现实世界的具体问题,是计算机应用开发和程序设计的一个必然发展趋势。7.1线程的实现7.1.2创建线程创建线程是指将需要独立运行的子任务代码放到从Thread类派生出来的类的run方法中。然后在主线程中原先调用该子任务的地方先创建一个该线程类的实例,再调用线程类中的start方法启动

4、线程。每个Java程序都有一个缺省的主线程,对于Application,主线程是main()方法执行的线索;对于Applet,主线程指挥浏览器加载并执行Java小程序。要想实现多线程,必须在主线程中创建新的线程对象。Java中实现多线程有两种途径:1.创建Thread类的子类2.实现Runnable接口无论使用哪种方法,都需要用到Java基础类库中的Thread类及其方法。7.1线程的实现7.1.2创建线程7.1.2.1继承Thread类Thread类综合了Java程序中一个线程需要拥有的属性和方法,主要有:1.构造方法publicThread(T

5、hreadGroupgroup,Runnabletarget,Stringname)其中,参数group代表该线程所属的线程组,target代表执行线程体的目标对象(该对象必须实现Runnable接口),name代表线程名。Thread类的构造方法有多个,所对应的操作有如下几种:(1)publicThread():创建一个系统线程类的对象。(2)publicThread(Runnabletarget):在上一个构造方法完成的操作—创建线程对象的基础之上,利用参数对象(实现了Runnable接口的target对象)中所定义的run()方法,来初始化或

6、覆盖新创建的线程对象的run()方法。7.1线程的实现7.1.2创建线程7.1.2.1继承Thread类(3)publicThread(Stringname):在第一个构造方法的基础上,为所创建的线程对象指定一个字符串名称供以后使用。(4)publicThread(Runnabletarget,Stringname):实现前两个构造方法的功能。(5)publicThread(ThreadGroupgroup,Runnabletarget):生成一个指定线程组和目标对象的线程。(7)publicThread(ThreadGroupgroup,Stri

7、ngname):生成一个指定线程组和名字的线程。利用构造方法创建新线程对象之后,这个对象中的有关数据被初始化,从而进入线程的生命周期的第一个状态—新建状态。7.1线程的实现7.1.2创建线程7.1.2.1继承Thread类2.Thread类的主要方法包括:(1)voidrun():线程所执行的代码。(2)voidstart():启动线程对象,使之从新建状态转入就绪状态,多次调用会产生异常。(3)voidsleep(longmilis):让线程睡眠一段时间,此期间线程不消耗CPU资源,以毫秒为时间单位。(4)voidinterrupt():中断线程。

8、(5)staticbooleaninterrupted():判断当前线程是否被中断(会清除中断状态标记)。7.1线程的实现

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

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

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