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()方法进入,也可能是由于发生异常而进入的。
版权声明: 本文为 InfoQ 作者【杨鹏Geek】的原创文章。
原文链接:【http://xie.infoq.cn/article/6c62a44198b37512868495d97】。文章转载请联系作者。
评论