1
我正在使用Volatile關鍵字,但它的行爲與預期的不同。在C#中使用Volatile關鍵字
這裏是我的代碼
private static volatile int _N = 0;
var up = Task.Run(() =>
{
for (int i = 0; i < 1000000; i++)
_N++;
});
for (int i = 0; i < 1000000; i++)
_N--;
up.Wait();
Console.WriteLine(_N);
_N是一個類變量。
我每次得到的是不同的數字,就好像關鍵字volatile不被使用一樣。 這是關鍵字的正確行爲嗎?
你是否假設'volatile'關鍵字的功能與'Volatile.Write'相同? –