作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我多次看到这样的结构:
class OneTimeWriter {
volatile Object o;
void synchronized set(Object o) {
if(this.o == null) this.o = o;
}
Object get() {
return this.o;
}
}
我们在同步
本身的开始/结束处有读/写成员。那么,既然 synchronized
本身就具有释放/获取语义,我们可以从 o 中删除 volatile
吗?
最佳答案
除非get
也同步
;否则,将非 null
内容放入字段的 setter 与 get
调用之间不存在发生前关系。
关于java - 同步和易变的 JMM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22703646/
我是一名优秀的程序员,十分优秀!