Итак, у меня есть метод, который объединяет задачи вместе, чтобы сделать работу
var tasks = new List<Task>();
tasks.Add(DoWorkAsync(1));
tasks.Add(DoWorkAsync(2));
tasks.Add(DoWorkAsync(3));
tasks.Add(DoWorkAsync(4));
tasks.Add(DoWorkAsync(5));
tasks.Add(DoWorkAsync(6));
await Task.WhenAll(tasks.ToArray());
Чтобы получить лучшую производительность / отзывчивость от этого метода, который я рассматривал, используя ConfigureAwait(false)
Приведенному выше методу нет необходимости запускаться в том же контексте синхронизации, что и вызывающий поток.
как правильно использовать ConfigueAwait(false)
при сцеплении Tasks
и нужно ли мне использовать ConfigureAwait
для каждой отдельной задачи и / или мне нужно использовать его на Task.WhenAll
В качестве дополнительного вопроса ...
Действительно ли ConfigureAwait
что-то делает (или улучшает производительность / скорость отклика), если нет кода, работающего после ожидания?