1. 程式人生 > >物件的notify方法的含義和物件鎖釋放的三種情況

物件的notify方法的含義和物件鎖釋放的三種情況

1,notify的含義     (1)notify一次只隨機通知一個執行緒進行喚醒 (2)  在執行了notify方法之後,當前執行緒不會馬上釋放該物件鎖,呈wait狀態的執行緒也不能馬上獲得該物件鎖, 要等到執行notify方法的執行緒將程式執行完 ,也就是退出sychronized程式碼塊後,當前執行緒才會釋放鎖, 而呈wait狀態所在的執行緒才可以獲取該物件鎖。 2,物件鎖釋放的三種情況
序號 場景
1 執行完同步程式碼塊就會釋放物件的鎖
2 在執行同步程式碼塊的過程中,遇到異常而導致執行緒終止,鎖也會被釋放
3 在執行同步程式碼塊的過程中,執行了鎖所屬物件的wait方法,這個執行緒會釋放物件鎖,而此執行緒物件會進入執行緒等待池中,等待被喚醒