1. 程式人生 > >線程狀態及線程鎖

線程狀態及線程鎖

tin time term syn sync mina pan nat pac

線程棧狀態有如下幾種:

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>


線程狀態及線程鎖