转转请注明出处:http://blog.csdn.net/yegongheng/article/details/38708765
上一篇《线程的概念及简单实现》博文我们简单地认识了关于多线程的概念以及使用Java语言实现多线程,这算是我们对Java并发编程学习的一个入门吧,那本篇博文我们将继续更深入地学习多线程方面的知识。
线程的状态
同样的,线程作为一项任务的执行者,从开启、运行到终结、销毁,都有它自己的生命周期。那在Java定义中,一般线程可以分为六种状态,我们通过查看Thread类源码发现,在Thread类中定义了一个线程状态的枚举,代码如下:
public enum State {
/**
* Thread state for a thread which has not yet started.
*/
NEW,
/**
* ...
*/
RUNNABLE,
/**
* ...
*/
BLOCKED,
/**
* ...
*/
WAITING,
/**
*...
*/
TIMED_WAITING,
/**
* Thread state for a terminated thread.
* The thread has completed execution.
*/
TERMINATED;
}
下面我们对每一种线程状态进行简要的说明:
1. 新生(New):在Java中使用new Thread(r)来创建一个新的线程,此时线程处于新生的状态,但是程序还没有开始运行线程的代码;
2. 可运