[問題] Volatile正確用法?

看板C_Sharp (C#)作者 (Ghostx2)時間12年前 (2013/06/16 19:17), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串1/2 (看更多)
對volatile修飾詞用法一直抱持疑惑 網路討論總結以下幾點 1.用於多執行緒但非lock之field 2.不完全線程安全, 非原子操作 3.不接受編譯器優化變數, 變數隨時保持與記憶體相同數據 不會存取到暫存器數據, 以保持數據為最新狀態 找到許多文章都是關於C/C++或是嵌入式系統討論 關於C#的頗少, MSDN講得又讓人看不懂 請問C#真有什麼情況下真有必要用這個修飾詞嗎? 感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.41.238.99

06/16 20:29, , 1F
他有點像保證強制寫入 , 用在正確性等級需要非常高的地方
06/16 20:29, 1F

06/16 20:29, , 2F
有一些情況 執行緒 跟硬體IO的順序不是直線可能會交錯.
06/16 20:29, 2F

06/17 22:37, , 3F
一直有個疑問, 在一般.NET文章裡提到的I/O有包含到
06/17 22:37, 3F

06/17 22:37, , 4F
記憶體R/W嗎?
06/17 22:37, 4F
文章代碼(AID): #1HlPxdT6 (C_Sharp)
文章代碼(AID): #1HlPxdT6 (C_Sharp)