我在某处读到,x86 处理器具有缓存一致性,并且可以在每次写入时跨多个内核同步字段的值。
如果我们计划仅在 x86 处理器上运行,这是否意味着我们可以在不使用 java 中的“ volatile ”关键字的情况下进行编码?
更新:
好吧,假设我们忽略指令重新排序的问题,我们是否可以假设 x86 处理器上不存在跨内核不可见的非 volatile 字段的分配问题?
最佳答案
否—— volatile
关键字不仅仅具有缓存一致性的含义;它还对运行时可以做什么和不能做什么设置限制,例如延迟构造函数调用。
关于java - volatile ,在 x86 处理器上没有用处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5573782/