volatile 關鍵字如何保證內存可見性

爲什麼新線程對主線程進行的變量修改沒有察覺? 1、JIT編譯器對新線程的代碼進行優化,導致新線程在線程上下文中察覺不到變量的修改 2、新線程可能會從本地緩存或是寄存器中獲取變量數據,而不是從速度更慢的內存中獲取   volatile 關鍵字如何保證內存可見性? volatile標記的變量,會警告JIT編譯器,標記volatile標記的變量可能會被其他線程修改,不要執行任何可能影響其訪問順序的優化。
相關文章
相關標籤/搜索