為什么sleep是Thread的方法而不是Object的

1.在java的內(nèi)置鎖機(jī)制中,每個(gè)對(duì)象都可以成為鎖,也就是說(shuō)每個(gè)對(duì)象都可以去調(diào)用wait,notify方法,而Object類是所有類的一個(gè)父類,把這些方法放在Object中,則java中的所有對(duì)象都可以去調(diào)用這些方法了。

2.一個(gè)線程可以擁有多個(gè)對(duì)象鎖,wait,notify,notifyAll跟對(duì)象鎖之間是有一個(gè)綁定關(guān)系的,比如你用對(duì)象鎖aObject調(diào)用的wait()方法,那么你只能通過(guò)aObject.notify()或者aObject.notifyAll()來(lái)喚醒這個(gè)線程,這樣jvm很容易就知道應(yīng)該從哪個(gè)對(duì)象鎖的等待池中去喚醒線程,假如用Thread.wait(),Thread.notify(),Thread.notifyAll()來(lái)調(diào)用,虛擬機(jī)根本就不知道需要操作的對(duì)象鎖是哪一個(gè)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容