java线程状态学习

java线程状态有一下几种

1:新建状态(new)新建一个线程对象。

2:就绪态(runnable 可执行的)调用start方法,等待CPU分配资源

3:运行态(run)处于运行期间,获得CPU资源

4:阻塞态(block)因为某种原因放弃了CPU资源,需要等待CPU的分配。

    4.1:其他阻塞状态,在运行态的时候,调用sleep或者join方法,进入阻塞态。

    4.2:等待阻塞,运行态期间,调用wait方法,进入阻塞态,jvm将该线程放入阻塞态中

    4.3:同步阻塞,多线程并发获取对象的同步锁时,若该同步锁被别的线程占用,那么JVM会将该线程放入锁吃中。

5:死亡状态

ps:查看一个进程处于阻塞状态:

    jstack

转载于:https://my.oschina.net/u/4189935/blog/3093773

你可能感兴趣的:(java线程状态学习)