鎖池:
假設線程A已經擁有對象鎖,線程B、C想要獲取鎖就會被阻塞,進入一個地方去等待鎖的等待,這個地方就是該對象的鎖池;
等待池:
假設線程A調用某個對象的wait方法,線程A就會釋放該對象鎖,同時線程A進入該對象的等待池中,進入等待池中的線程不會去競爭該對象的鎖。
notify和notifyAll的區別:
1、notify只會隨機選取一個處於等待池中的線程進入鎖池去競爭獲取鎖的機會;
假設線程A已經擁有對象鎖,線程B、C想要獲取鎖就會被阻塞,進入一個地方去等待鎖的等待,這個地方就是該對象的鎖池;
假設線程A調用某個對象的wait方法,線程A就會釋放該對象鎖,同時線程A進入該對象的等待池中,進入等待池中的線程不會去競爭該對象的鎖。
1、notify只會隨機選取一個處於等待池中的線程進入鎖池去競爭獲取鎖的機會;
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。