0

彼の回答で Stephenは、 が呼び出されたときConfigureAwait(false)にメソッドの残りの部分がスレッド プール スレッドで実行されることを説明Taskしましたawait

明確なこと:ConfigureAwait(false)非同期呼び出しの後に実行されるすべてのものを使用すると、スレッド プール スレッドで実行されるため、UI SynchronizationContext では実行されませんtextBox1.Text = data.Property

私が理解していないのは、メソッドが実行される前に、私が待っていることが常にawait完了するという意味ではありませんか? では、タスクを続行する前に完了できないのはなぜでしょうか?Task

4

2 に答える 2

1

このようなものを想像してください

var task = obj.SomeTaskAsync();
// do some lengthy computation
var value = await task.ConfigureAwait(false);

await taskコール前でもタスクを完了できることが容易にわかると思います。

この場合、 await を使用した場合でも、 await の後のコードは同じコンテキストで実行されます.ConfigureAwait(false)

于 2014-01-09T09:50:09.350 に答える