在 WPF 4.5 应用程序中,我不明白为什么当我使用 await + a task 时 UI 会被阻止:
private async void Button_Click(object sender, RoutedEventArgs e)
{
// Task.Delay works great
//await Task.Delay(5000);
double value = await JobAsync(25.0);
MessageBox.Show("finished : " + value.ToString());
}
private async Task<double> JobAsync(double value)
{
for (int i = 0; i < 30000000; i++)
value += Math.Log(Math.Sqrt(Math.Pow(value, 0.75)));
return value;
}
await Task.Delay 效果很好,但 await JobAsync 会阻塞 UI。为什么 ?谢谢你。