标签:问题 运行 不一致 monitor 出现 pen 互斥 enter 严格
synchronized
关键字提供了一种锁的机制,能够确保共享变量的互斥访问,从而防止数据不一致问题的出现。synchronized
关键字包括monitor enter和monitor exit两个JVM指令,它能够保证在任何时候任何线程执行到monitor enter成功之后都必须从主内存中获取数据,而不是从缓存中,在monitor exit运行成功之后,共享变量被更新后的值必须刷入主内存synchronized
的指令严格遵守java happens-before规则,一个monitor exit指令之前必须有一个monitor enter标签:问题 运行 不一致 monitor 出现 pen 互斥 enter 严格
原文地址:https://www.cnblogs.com/Mr-GG/p/synchronized-guan-jian-zi.html