1. 程式人生 > >-server多執行緒由於可見性導致死迴圈

-server多執行緒由於可見性導致死迴圈

-server執行


正確執行應該在睡眠2秒後呼叫getStop()以後停止迴圈,但是由於虛擬機器效能的優化可能只在開始的時候第一次讀取stop的值為false之後就不會在讀取stop的值。

正確的方法應該在把private boolean stop改為 private voliate boolean stop,這樣虛擬機器就會每次都會去記憶體中讀取stop的值了