第15章 线程(Thread).pdf
文本预览下载声明
第15章 线程(Thread)
线程原本是操作系统中的一个概念。在绝大多数平台上,Java
平台中的线程其实就是利用了操作系统本身的线程。对于学习Java
线程而言,最重要的内容是理解线程。在理解了线程之后,再去学
习Java 中常用的线程编程其实不难。除了介绍线程的概念,本章中
还会讲解Java线程的使用、多线程编程和线程同步的基本知识。这
些都是最常用的线程编程技术。
15.1 线程——执行代码的机器
线程是编程中极其重要的一部分内容,但是对于初学
线程的读者来说,它的概念显得过于抽象而不好理解。和程
序的代码不同,线程是隐藏在程序背后的,对于编程者来说
它是看不见摸不着的。为了形象的描绘线程的作用,本节将
使用一个“CD机模型”和“演奏会模型”来与线程进行类
比。为了搞懂线程,首先我们需要了解Java程序是如何运行
的。
15.1.1 线程——执行代码的基本单位
在Java 中,线程可以说是一个“机器”,它的作用就是执行
Java代码。图15-1描绘了我们前面学习的从Java源代码到生成
Java类文件的过程。 编写Java源文件 编译Java源文件 没有语法错误 生成class文件
1 Java线程和CD机 有语法错误
2 从CD机的工作机制看Java线程
Java平台
读取并加载class文件
创建一个线程
启动Java平台 Java平台退出
让线程从main方法开始
执行程序
main方法结束,线程也
随之结束
15.1.2 演奏会模型
线程是隐藏在Java平台之中的,它的工作方式并没有展露在
Java语法中。我们只能够通过类比的方式来理解Java线程以及程序
代码、Java线程和Java平台三者之间的关系。本小节将要介绍的就
是“演奏会模型”。演奏会并不是一个陌生的概念,我们可以把它
看成是由一个指挥家、一个或多个演奏家、乐谱组成的事物。它的
最终结果就是演奏乐谱。
1 Java线程和演奏会模型
Java源文件 乐谱源文件
2 运行中的Java线程和演奏会模型
乐谱输入存储设备后的
Java 的类文件
数据
Java平台 指挥家
线程 演奏家
当前执行的程序 显示器当前显示的小节
15.1.2 演奏会模型
将Java源文件编译为class文件 将乐谱输入存储设备
启动Java平台
显示全部