如何用一張圖展示synchronized的原理?

世界上並沒有完美的程序,但是我們並不因此而沮喪,因爲寫程序就是一個不斷追求完美的過程。 然後詳細分析一下: 首先,如果是單線程情況下,沒有其它線程與當前線程搶鎖,所以當前線程會很容易的通過CAS搶到鎖,這時對象頭中記錄鎖信息的位置會將狀態記錄爲當前加鎖的線程的線程Id。而由於沒有其他線程再需要鎖,所以當前線程加鎖以後可以一直擁有,而無需解鎖,這種單線程加鎖以後不需解鎖的狀態被稱爲偏向鎖。在JDK6
相關文章
相關標籤/搜索