volatile詳述

volatile在java程序員在做開發的時候相信都遇到過,禁止指令重排序,那麼它是如何保證在特定情況下不亂序的呢? 首先在硬件級別,x86提供了3條指令: sfence: store| 在sfence指令前的寫操作當必須在sfence指令後的寫操作前完成。 lfence:load | 在lfence指令前的讀操作當必須在lfence指令後的讀操作前完成。 mfence:modify/mix |
相關文章
相關標籤/搜索