jjzjj

eventFinished

全部标签

c# - 为什么局部变量在 C# 中不能是 volatile 的?

publicvoidMyTest(){booleventFinished=false;myEventRaiser.OnEvent+=delegate{doStuff();eventFinished=true;};myEventRaiser.RaiseEventInSeperateThread()while(!eventFinished)Thread.Sleep(1);Assert.That(stuff);}为什么eventFinished不能是易变的,这有关系吗?在我看来,在这种情况下,编译器或运行时可能会为了自己的利益而变得聪明,并在while循环中“知道”eventFinished