Есть абстрактный пример:
async void Do()
{
. await DownloadSomething() ;
// какой-то другой код, который выполнится позже
...
}
void FuncMain()
{
Do();
//какой-то код
}
Когда начинается "долгая" операция DownloadSomething, управление передаётся в FuncMain, а после, когда загрузка закончится, продолжается код после DownloadSomething.
Вопрос: где удерживается await DownloadSomething? Или удерживается в каком-то потоке из пула?
Сборка персонального компьютера от Artline: умный выбор для современных пользователей