第15 章 多线程编程 本章将要讲述 Jav a 中线程(Thread)相关的内容
它是一个全新的事物
为了理解本章的内容,需要用到前面学到的以下知识点
方法的调用过程; 程序执行流程; 继承和覆盖; 接口和内部类; 类文件即是 Jav a 平台的可执行文件
线程原本是操作系统中的一个概念
在绝大多数平台上,Jav a 平台中的线程其实就是利用了操作系统本身的线程
对于学习 Jav a 线程而言,最重要的内容是理解线程
在理解了线程之后,再去学习 Jav a 中常用的线程编程其实不难
除了介绍线程的概念,本章还会讲解 Jav a 线程的使用、多线程编程和线程同步的基本知识
这些都是最常用的线程编程 技术
1 节用来讲述线程的概念,是本章中最重要的一节
对于线程这种抽象的概念,一次看不懂也是正常的
1 节是全章的基础,理解了 15
1 节的内容,本章剩余的内容就不难理解了
所以请读者在继续后面的内容之前,务必将 15
1 节的内容看懂
好,下面首先理解线程的概念
1 线程——执行代码的机器 线程是编程中极其重要的一部分内容,但是对于初学线程的读者来说,它的概念显得过于抽象而不好理解
和程序的代码不同,线程是隐藏在程序背后的,对于编程者来说它是看不见摸不着的
为了形象地描绘线程的作用,本节将使用一个“CD 机模型”和“演奏会模型”来与线程进行类比
为了明白线程,首先需要了解Jav a 程序是如何运行的
1 线程——执行代码的基本单位 什么是线程呢
它不是 Jav a 语言语法的一部分
在 Jav a 中,线程可以说是一个“机器”,它的作用就是执行 Jav a 代码
换句话说,Jav a 中的代码,都是通过线程为基本单位来执行的
图 15-1 描绘了前面学习的从 Jav a 源代码到生成 Jav a 类文件的过