线程状态及线程锁

线程栈状态有如下几种:

1、NEW

2、RUNNABLE

3、BLOCKED #进入synchronized之前

4、WAITING #已经进入synchronized,调用了wait()

5、TIMED_WAITING #已经进去synchronized,调用了sleep()

6、TERMINATED #线程结束


线程锁解读:

当一个线程占有一个锁的时候,线程堆栈会打印一个-locked<0x22bffb60>

当一个线程正在等在其他线程释放该锁,线程堆栈会打印一个-waiting to lock<0x22bffb60>

当一个线程占有一个锁,但又执行在该锁的wait上,线程堆栈中首先打印locked,然后打印-waiting on <0x22c03c60>


猜你喜欢

转载自blog.51cto.com/5731674/2159074