Synchronized的底层实现
Posted yyml181231
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Synchronized的底层实现相关的知识,希望对你有一定的参考价值。
JDK早期的 重量级 - OS
后来的改进中,产生锁升级的概念
sync(Object)
markword 记录这个线程的ID(偏向锁)
如果线程争用:升级为自旋锁
10次以后,
升级为重量级锁 - OS
总结
换行时间短(加锁代码),线程较少,用自旋
换行时间长,线程较多,用系统锁。
以上是关于Synchronized的底层实现的主要内容,如果未能解决你的问题,请参考以下文章
Java多线程系列:深入详解Synchronized同步锁的底层实现
synchronized与static synchronized 的差别synchronized在JVM底层的实现原理及Java多线程锁理解