JDK synchronized的实现细节

①字节码层面:会加入monitorenter指令和两条monitorexit指令,为什么有两条exit,因为如果产生异常会自动退出。

②JVM层面:由C,C++调用了操作系统提供的同步机制。

③OS和硬件层面,X86 CPU使用了lock指令来实现。cmxchg指令(compare and exchange指令)

lock compxchg xxx指令结合使用锁住内存。

发布了732 篇原创文章 · 获赞 336 · 访问量 77万+

猜你喜欢

转载自blog.csdn.net/a772304419/article/details/103940112
jdk
今日推荐