JAVA多线程详解1.pdf

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JAVA多线程详解1

Java 多线程编程 Java 语言的一个重要特点是内在支持多线程的程序设计。多线 程是指在单个的程序内可以同时运行多个不同的线程完成不同的 任务。多线程的程序设计具有广泛的应用。本章主要讲授线程的概 念、如何创建多线程的程序、线程的生存周期与状态的改变、线程 的同步与互斥等内容。 新建-就绪- (阻塞)-运行--死亡 其中当用new 创建完一个线程对象后,该线程处于新建状态 当线程对象调用了start()后,该线程处于就绪状态 如果处于就绪状态的线程获得CPU 时间片,开始执行run方法的线程执行 体,该线程处于运行状态 如果线程调用了sleep()或者调用了一个阻塞式IO方法等,该线程处于阻塞 状态 如果线程的run()执行完成或者抛出一个未捕获的异常等原因,该线程 处于死亡状态 9.1 线程与线程类 9.1.1 线程的概念 线程的概念来源于计算机的操作系统的进程的概念。进程是一个程序关于某个数据集的 一次运行。也就是说,进程是运行中的程序,是程序的一次运行活动。 线程和进程的相似之处在于,线程和运行的程序都是单个顺序控制流。有些教材将线程 称为轻量级进程(lightweightprocess)。线程被看作是轻量级进程是因为它运行在一个程序的 上下文内,并利用分配给程序的资源和环境。 作为单个顺序控制流,线程必须在运行的程序中得到自己运行的资源,如必须有自己的 Java 多线程编程 217 执行栈和程序计数器。线程内运行的代码只能在该上下文内。因此还有些教程将执行上下文 (execution context)作为线程的同义词。 所有的程序员都熟悉顺序程序的编写,如我们编写的名称排序和求素数的程序就是顺序 程序。顺序程序都有开始、执行序列和结束,在程序执行的任何时刻,只有一个执行点。线 程 (thread)则是进程中的一个单个的顺序控制流。单线程的概念很简单,如图9.1所示。 多线程 (multi-thread)是指在单个的程序内可以同时运行多个不同的线程完成不同的任 务,图9.2 说明了一个程序中同时有两个线程运行。 一个线程 两个线程 图9.1 单线程程序示意图 图9.2 多线程程序示意图 有些程序中需要多个控制流并行执行。例如, for(int i 0;i 100;i++) System.out.println(RunnerA + i); for(intj 0;j 100;j++) System.out.println(Runner B +j); 上面的代码段中,在只支持单线程的语言中,前一个循环不执行完不可能执行第二个循 环。要使两个循环同时执行,需要编写多线程的程序。 很多应用程序是用多线程实现的,如Hot JavaWeb 浏览器就是多线程应用的例子。在 Hot Java 浏览器中,你可以一边滚动屏幕,一边下载Applet 或图像,可以同时播放动画和 声音等。 9.1.2 Thread 类和Runnable接口 多线程是一个程序中可以有多段代码同时运行,那么这些代码写在哪里,如何创建线程 对象呢? 首先,我们来看Java 语言实现多线程编程的类和接口。在java.lang 包中定义了Runnable 接口和Thread类。 Runnable接口中只定义了一个方法,它的格式为:  public abstractvoidrun() 这个方法要由实现了Runnable接口的类实现。Runnable 对象称为可运行对象,一个线 程的运行就是执行该对象的run()方法。 Thread类实现了Runnable接口,因此Thread 对象也是可运行对象。同时Thread 类也是 线程类,该类的构造方法如下:  publicThread()  publicThread(Runnabletarget)  publicThread(Stringname)  publi

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档