①字节码层面:会加入monitorenter指令和两条monitorexit指令,为什么有两条exit,因为如果产生异常会自动退出。
②JVM层面:由C,C++调用了操作系统提供的同步机制。
③OS和硬件层面,X86 CPU使用了lock指令来实现。cmxchg指令(compare and exchange指令)
lock compxchg xxx指令结合使用锁住内存。
JDK synchronized的实现细节
猜你喜欢
转载自blog.csdn.net/a772304419/article/details/103940112
今日推荐
周排行