大话synchronize底层原理
生活随笔
收集整理的這篇文章主要介紹了
大话synchronize底层原理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在每個對象中mark word中LockWord指向monitor的起始地址,也就是每個對象與一個monitor相關聯。在monitor中有個Owner字段記錄著擁有鎖的線程。初始時為NULL表示當前沒有任何線程擁有該鎖,當線程成功擁有該鎖后保存線程唯一標識,當鎖被釋放時又設置為NULL。修改過程都是以CAS的方式修改。?synchronize 就有了偏向鎖,偏向鎖的適用場景為 沒有發生鎖競爭的情況下,只需要修改對象頭中Mark Word中的線程ID,只需CAS一次,優化了輕量級鎖每次CAS倆次。
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的大话synchronize底层原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么消息队列不实现精准一次(exact
- 下一篇: epoll和select的区别