lock 的範圍 ,仍會改變 i 的值
阿新 • • 發佈:2018-11-27
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 的值