详述Java内存屏障,透彻理解volatile
摘要:
一般来说内存屏障分为两层:编译器屏障和CPU屏障,前者只在编译期生效,目的是防止编译器生成乱序的内存访问指令;后者通过插入或修改特定的CPU指令,在运行时防止内存访问指令乱序执行。 下面简单说一下这两种屏障。 1、编译器屏障 编译器屏障如下: asm volatile("": : :"memory" 阅读全文
posted @ 2023-10-29 09:23 鸠摩(马智) 阅读(785) 评论(0) 推荐(1) 编辑