volatile (C# 參考)
volatile 關鍵字表示同時執行的多執行緒可能修改了欄位。宣告為 volatile 的欄位不遵從假設單一執行緒存取的編譯器最佳化。這確保最新的值會一直出現在欄位中。
volatile 修飾詞經常用於由多個執行緒而未以 lock 陳述式 (C# 參考) 陳述式將存取動作序列化時所存取的欄位上。如需多執行緒案例 volatile 的範例,請參閱 HOW TO:建立和結束執行緒 (C# 程式設計手冊)。
volatile 關鍵字可套用至以下型別的欄位:
-
參考型別。
-
指標型別 (在 unsafe 內容中)。請注意,當指標本身可以為 Volatile 時,其指向的物件便不能為 Volatile。換句話說,您不能宣告 Volatile 的指標。
-
整數類資料型別,例如 sbyte、byte、short、ushort、int、uint、char、float 和 bool。
-
具有整數類基底型別的列舉型別。
-
已知為參考型別的泛用型別參數。
Volatile 關鍵字只能套用至類別或結構 (Struct) 的欄位。區域變數無法宣告為 volatile。
