这是来自 Joseph Albahari 的优秀 C# 5.0 in a Nutshell book
在他的一章中,他提到了这个代码块中的一个竞争条件。我的猜测是它的意思是不言而喻的,因为他没有费心指定它在哪里,但是多次运行代码我无法产生上述竞争条件
_button.Click += (sender, args) =>
{
_button.IsEnabled = false;
Task.Run (() => Go());
};
void Go()
{
for (int i = 1; i < 5; i++)
{
int result = GetPrimesCount (i * 1000000, 1000000);
Dispatcher.BeginInvoke (new Action (() =>
_results.Text += result + " primes between " + (i*1000000) + " and " +
((i+1)*1000000-1) + Environment.NewLine));
}
Dispatcher.BeginInvoke (new Action (() => _button.IsEnabled = true));
}