Bootstrap

24《重学JAVA》--多线程(一)

一、多线程简介

Java给多线程编程提供了内置的支持。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。多线程是多任务的一种特别的形式,但多线程使用了更小的资源开销。

 

二、线程和进程的联系

 

1.进程是系统资源分配最小单位,线程是程序执行最小单位。

 

2. 进程使用独立的数据空间,线程共享进程的数据空间。

 

3. 一个进程中可以有多个线程。

 

三、线程的状态

JAVA线程有5种状态

1. 新建状态:新建状态(New)是通过new等方式创建线程对象,它仅仅是一个空的线程对象。

2. 就绪状态:当主线程调用新建线程的start()方法后,它就进入就绪状态(Runnable)。此时的线程尚未真正开始执行run()方法,它必须等待CPU的调度。

3. 运行状态CPU的调度就绪状态的线程,线程进入运行状态(Running),处于运行状态的线程独占CPU,执行run()方法。

4. 阻塞状态:因为某种原因运行状态的线程会进入不可运行状态,即阻塞状态(Blocked),处于阻塞状态的线程JVM系统不能执行该线程,即使CPU空闲,也不能执行该线程。

5.死亡状态:线程退出run()方法后,就会进入死亡状态(Dead),线程进入死亡状态有可以是正常实现完成run()方法进入,也可能是由于发生异常而进入的。