《Java线程详解》PPT课件

《Java线程详解》PPT课件

ID:36649145

大小:746.60 KB

页数:45页

时间:2019-05-09

《Java线程详解》PPT课件_第1页
《Java线程详解》PPT课件_第2页
《Java线程详解》PPT课件_第3页
《Java线程详解》PPT课件_第4页
《Java线程详解》PPT课件_第5页
资源描述:

《《Java线程详解》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、多线程进程和线程进程和线程都是一个控制流程。一个进程通常对应于一个程序。一个程序可以由多个不同的线程构成。进程程序:利用编程语言开发的一个工具软件,静态的,在没有启动运行之前只是磁盘中的一个普通文件进程:程序启动之后就变成了进程动态window支持多进程,但cpu只有一个,所以同一时间只能运行一个进程动态的进程相互独立,不共享数据线程:进程在运行过程中的执行走向,线索单线程:如果只有一条单一线索存在的问题效率相对底下没有充分合理的利用cpu多线程:多于一条的执行走向线程共享内存可以实现多任务进程根据定义,进程为一个数据结构及能在其上进行的一次操作,它有两个基本特征,1:进程是可

2、用于资源的独立单位,2:进程同时又是一个可独立调度和分派的基本单位,这两个基本属性使之能够独立运行,也能够并发运行。但是在并发运行的时候,系统还需要执行一系列操作:1、需要创建进程,并为之分配其所必需的资源。2、撤销进程,对资源进行回收。3、进程切换,它需要保留当前进程的CPU环境和设置新选中进程的CPU环境。为此需要花费不少处理时间。正因为进程拥有资源,所以在并发执行进程的时候,在创建、撤销和切换,系统需要付出较大的开销,因此,系统中设置的进程不能太多,进程切换的频率也不能过高,这就限制了并发程度的提高。为了解决这一问题,于是产生并引入了线程概念。进程进程:正在进行的程序我们

3、现在使用的操作系统都是多任务的,即能够同时执行多个应用程序。实际是操作系统负责对CPU等设备资源进行分配和管理,虽然这些设备某一时刻只能做一件事情,但以非常小的时间间隔交替执行多个程序,就给人同时执行多个程序的感觉。如从C盘复制文件到D盘的同时从E盘复制文件到F盘。线程(threads)线程因为具有许多进程所具有的特征,因此被称为轻量级进程。计算机科学术语,指运行中程序的调度单位。线程是进程中的实体,一个进程可以拥有多个线程,一个线程必须有一个父进程。线程不拥有系统资源,只拥有运行必须的一些数据结构;它与父进程的其它线程共享该进程所拥有的全部资源。线程可以创建和撤消,从而实现程

4、序的并发执行。一般,线程具有就绪、阻塞和运行三种基本状态。线程一个进程中可以包含一个或多个线程,一个线程就是程序内部的一条执行线索。在单线程中,程序代码按调用顺序依次往下执行,不能实现两段程序代码同时交替运行的效果。如果一个程序中要实现两段程序代码同时交替运行,就需要产生多个线程,并指定每个线程上所要运行的程序代码段,这就是多线程。程序启动运行时,就自动产生了一个线程,main方法就是在这个线程上运行的,当不再产生新的线程时,程序就是单线程。多线程多线程在实际工作场景的应用:QQ聊天(键盘的输入与等待)、访问网页(应用服务器必须能响应多个用户请求)创建多线程的方法有2种:继承T

5、hread类实现Runnable接口ThreadJava的线程通过Thread类来控制,一个Thread类的对象代表一个线程,而且只能代表一个线程。通过Thread类和它定义的对象,我们能获得当前线程对象、获取某一线程的名称、可以实现控制线程暂停一段时间等功能。每个线程都是通过某个特定Thread对象所对应的方法run()来完成其操作的,方法run()称为线程体。使用start()方法,线程进入Runnable(可运行)状态,它将向线程调度器注册这个线程。调用start()方法并不一定马上会执行这个线程,正如上面所说,它只是进入Runnable而不是Running。注意,不要直

6、接在程序中调用线程的run()方法。见线程图线程状态就绪Runnable运行Running阻塞Blocked创建newstart()run()运行完毕线程调度阻塞事件解除阻塞dead死亡Thread在单线程中,main方法必须等到run方法返回后才能继续往下执行。而多线程中,调用start方法启动线程,运行run方法后,main方法可以不必等待run方法返回就继续运行,而另一个线程在一边独自运行,并不影响原来的main方法的运行。Thread1.要将一段代码放在一个新的线程上运行,该代码所在的类应该继承Thread或实现Runnable接口,而需要执行的代码写在run方法里面。

7、2.启动一个线程,不是调用run方法,而是调用Thread对象的start方法。start方法将产生一个新的线程,并在该线程上运行该Thread对象中的run方法。运行的其实是我们的类(Thread子类)的run方法,多态。3.run方法执行完后,线程也就结束了,所以,我们可以通过控制run方法中的循环条件来控制线程的终止。如果实现Thread类但是不覆盖run方法?publicclassTestThread{publicstaticvoidmain(String[]args){MyThre

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

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

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