volatile详述

volatile在java程序员在做开发的时候相信都遇到过,禁止指令重排序,那么它是如何保证在特定情况下不乱序的呢? 首先在硬件级别,x86提供了3条指令: sfence: store| 在sfence指令前的写操作当必须在sfence指令后的写操作前完成。 lfence:load | 在lfence指令前的读操作当必须在lfence指令后的读操作前完成。 mfence:modify/mix |
相关文章
相关标签/搜索