Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csSpAsCf 344 of 509 menu
◀ ▶

ConfigureAwait в C#

После await по умолчанию продолжение пытается вернуться в исходный контекст, например в поток окна. ConfigureAwait(false) разрешает продолжить на любом потоке пула.

В библиотеке так снижают риск взаимной блокировки: вызывающий занял поток через Result или Wait, а продолжение ждёт этот же поток.

Продолжим без захвата контекста. В консольной программе без потока окна разница почти незаметна:

await Task.Delay(1).ConfigureAwait(false); Console.WriteLine("lib"); // выведет "lib"

Дождитесь короткой паузы без возврата в исходный контекст и выведите длину строки "pool".

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить