翻阅了很多文章有些说线程状态五种的也有说六种的,然后去看了一下官方文档:
从这里看到文档当中线程是分为六种状态,下面给大家通俗一点来解释:
1、NEW(新建):
新创建一个线程对象
2、RUNNABLE(可运行):
线程对象调用start方法进入可运行状态
3、BLOCKED(阻塞):
线程未抢到锁,抢到即变成可运行
4、WAITING(无限等待):
一个线程等待另一个线程被notify(唤醒)的动作,需要等待其他线程唤醒
5、TIMED_WAITING(超时(计时)等待):
调用一个方法等待一段时间,如wait,这个过程叫做超时等待
6、TERMINATED(终止):
线程生命周期结束,线程终止,分为正常终止,异常终止