java之併發&線程(二)

在併發量高一些的情況下。 if(a == 10){      a = 5; } 假設a是一個實例變量而不是局部變量,此時就可能會產生問題。在一個線程調用 if 部分時,另一個線程將a的值修改了。這時在堆中讀取到的a的值是修改後的值,導致程序結果不正確。   計算機在執行程序時,每條指令都是在CPU中執行的,而執行指令過程中,勢必涉及到數據的讀取和寫入。由於程序運行過程中的臨時數據是存放在主存(物理
相關文章
相關標籤/搜索