Volatile
C# でのキーワードのリアルタイム使用を確認したい。しかし、最良の例を投影することはできません。以下のサンプル コードはVolatile
キーワードなしで機能します。
class Program
{
private static int a = 0, b = 0;
static void Main(string[] args)
{
Thread t1 = new Thread(Method1);
Thread t2 = new Thread(Method2);
t1.Start();
t2.Start();
Console.ReadLine();
}
static void Method1()
{
a = 5;
b = 1;
}
static void Method2()
{
if (b == 1)
Console.WriteLine(a);
}
}
上記のコードでは、値を 5 として取得しています。volatile キーワードを使用せずにどのように機能しますか?