Synchronized的底层实现

Posted yyml181231

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Synchronized的底层实现相关的知识,希望对你有一定的参考价值。

JDK早期的 重量级 - OS
后来的改进中,产生锁升级的概念

sync(Object)
markword 记录这个线程的ID(偏向锁)
如果线程争用:升级为自旋锁
10次以后,
升级为重量级锁 - OS

总结

换行时间短(加锁代码),线程较少,用自旋
换行时间长,线程较多,用系统锁。

以上是关于Synchronized的底层实现的主要内容,如果未能解决你的问题,请参考以下文章

Java多线程系列:深入详解Synchronized同步锁的底层实现

synchronized底层实现学习

synchronized与static synchronized 的差别synchronized在JVM底层的实现原理及Java多线程锁理解

synchronized底层实现原理及锁优化

synchronized底层实现原理及锁优化

synchronized底层实现原理及锁优化