private static void Timer_ChangeBoolValue(object sender, ElapsedEventArgs e)
{
lock (_lock)
{
if (i % 2 == 0)
{
Test.isCallBox = false;
}
else
{
Test.isCallBox = true;
}
i++;
Test.PrintText();
}
}
与
private static void Timer_ChangeBoolValue(object sender, ElapsedEventArgs e)
{
if (i % 2 == 0)
{
Test.isCallBox = false;
}
else
{
Test.isCallBox = true;
}
i++;
lock (_lock)
{
Test.PrintText();
}
}
锁的效果是不一样的, 下面的仍会改变 i 的值