Synchronized 實現原理

Java的線程是映射到操做系統的原生線程之上的,若是要阻塞或喚醒一個線程,都須要操做系統來幫忙完成,這就須要從用戶態轉換到核心態中,所以狀態轉換須要耗費不少的處理器時間。優化 總結:synchronized 是經過操做系統底層的 互斥信號量 實現的,因爲會牽扯到用戶態和內核態的轉換,因此代價比較沉重。不過,虛擬機也會進行鎖優化,如自旋鎖、輕量級鎖、偏向鎖等。操作系統
相關文章
相關標籤/搜索