を私はのawait +タスク使用時にUIがブロックされている理由を、私は理解していない:WPF 4.5アプリケーションで、私の非同期タスクが常にブロック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;
}
ザ・はTask.Delayは素晴らしい作品待つのが、 JobAsyncがUIをブロックするのを待つ。どうして ? ありがとうございます。
ではなくメソッドの内部で作業を開始することは、より多くのを作るかもしれません最終的な結果(関数が決して再利用されない場合)は同じですが、 'await'を使って' Task.Run'呼び出しを行に追加することができます。 – Servy
同様のシナリオでも、UIスレッドはブロックされます。明らかな問題がありますか? – IbrarMumtaz