線程的緩存什麼時候刷新?

前言 曾經有遇到過這樣一個問題,有一個共享變量keepRunning=true,線程A中執行while (keepRunning);,線程B中執行keepRunning = false;,在main函數中同時開啓A,B線程,而後會發現程序會一直運行且不會退出。說白了這其實就是一個典型的可見性問題,A線程並不知道keepRunning已經被修改過了,故未將修改後的keepRunning變量的值從主內
相關文章
相關標籤/搜索