java中的線程有四種狀態(tài) java獲取當(dāng)前線程狀態(tài)?
java獲取當(dāng)前線程狀態(tài)?新:線程創(chuàng)建后,但尚未開始。Runnable:在Java虛擬機下運行任務(wù)的線程的狀態(tài)。處于runnable狀態(tài)的線程可能處于waiting狀態(tài),因為它正在等待某些系統(tǒng)資源的釋
java獲取當(dāng)前線程狀態(tài)?
新:線程創(chuàng)建后,但尚未開始。Runnable:在Java虛擬機下運行任務(wù)的線程的狀態(tài)。處于runnable狀態(tài)的線程可能處于waiting狀態(tài),因為它正在等待某些系統(tǒng)資源的釋放,例如IO blocked:blocking狀態(tài),等待鎖的釋放。例如,線程a進入一個synchronized方法,線程B也想進入這個方法,但是這個方法的鎖已經(jīng)被線程a獲得,此時線程B處于阻塞狀態(tài)Waiting:Waiting狀態(tài)。線程處于等待狀態(tài)是由于執(zhí)行這三種方法中的任何一種。
1. 不使用超時參數(shù)的對象的wait方法
2。不使用超時參數(shù)的線程連接方法
3。鎖定支持的駐車方法。處于等待狀態(tài)的線程將等待另一個線程處理特殊行為。例如,如果某個線程調(diào)用某個對象的wait方法,則該線程將處于waiting狀態(tài),直到另一個線程調(diào)用該對象的notify或notifyAll方法時,該狀態(tài)才會被釋放。waiting:waiting state with waiting time。例如,如果調(diào)用以下任何方法并指定等待時間,則線程將處于此狀態(tài)。1線程。睡眠方法2。時間為3的對象等待方法線程連接方法,用時間
4。Locksupport的parknos方法,用時間
5。Locksupport的parkintil方法,時間終止:線程終止的狀態(tài)。此線程已完全執(zhí)行其任務(wù)