指令重排涉及到如下四种,loadload,loadstore,storeload,storestore,在jvm里只会涉及到storeload,只有这一种才会导致你的程序不稳定,截一张jvm底层代码的图,会涉及到这四种方法:
在x86平台下,用如下方法实现不让指令重排的操作:
在x86情况下,指令屏障只会用在storeload上,其他的只需要告诉在编译阶段不要把指令重新排序即可。
本文分享自 作者个人站点/博客 前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!