【Java并发】线程的生命周期

线程的6种状态

六个新状态:New, Runnable, Blocked, Waiting, Timed Waiting, Terminated

New

已创建但是还没启动的方法

Runnable

调用start方法之后,一定进入这一状态,可运行的。即使没有拿到资源,也是可运行的

Blocked

进入被synchronized的代码块或者方法修饰的。其他的不是。

Waiting

没有设置时间参数的Object.wait()或者Thread.join()方法。

Timed_Waiting

带有时间案数的wait方法

Terminated

正常执行完结,或者发生未被捕获的异常抛出异常。

线程状态之间的转化

【Java并发】线程的生命周期

阻塞的概念

一般情况下,把BlockedWaitingTimed_waiting都称为阻塞。