原文: synchronized 通过 JVM 指令 monitorenter 和 monitorexit,来确保加锁**代码块内**的指令**不会**被重排。 错误点: synchronized 不禁止内部重排,而是通过 monitorenter / monitorexit 在进入和退出临界区时引入内存屏障,防止跨锁边界的指令重排。
原文:
synchronized 通过 JVM 指令 monitorenter 和 monitorexit,来确保加锁代码块内的指令不会被重排。
错误点:
synchronized 不禁止内部重排,而是通过 monitorenter / monitorexit 在进入和退出临界区时引入内存屏障,防止跨锁边界的指令重排。