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 关键字的情况下工作?