线程栈状态有如下几种:
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>
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/193994.html