前言
假如你寫過多執行緒系統一定會看過volatile
,但你對他的了解有多少?
MSDN對於volatile關鍵字解釋如下.
volatile 關鍵字指出某個欄位可能是由同時執行的多個執行緒所修改。 編譯器、執行階段系統,甚至硬體都有可能基於效能因素,而重新排列對記憶體位置的讀取和寫入。 宣告為 volatile 的欄位不受限於這些最佳化考量。 加入 volatile 修飾詞可確保所有的執行緒都會依執行寫入的順序,觀察任何其他執行緒所執行的暫時性寫入。
MSDN上寫一堆文謅謅的解釋,如果沒有相對應OS或底層概念會很難理解上面敘述
文章詳細內容在我的blog在 多執行緒系統中不得不知-volatile
如果本文對您幫助很大,可街口支付斗內鼓勵石頭^^