Код после await в каком потоке продолжается? - C#
Формулировка задачи:
Сначала пример:
Узнаем id главного потока Создаем новую задачу, и отдаем некоторый код на исполнение (в коде узнаем id потока задачи) После await, узнаем id текущего потока.В случаи консольного приложения:
id главного потока - 9 id потока задачи -11 id потока после await -11В случаи winForms приложения:
id главного потока - 9 id потока задачи -11 id потока после await - 9 Получается await в случаи консольного приложения не ждет завершения задачи, а ждет завершения кода (отправленного ему), и продолжает эту задачу после await. В случаи WinForms await ждет именно завершения задачи, а после выполняет уже в главном потоке.Почему так происходит (от чего зависит в каком потоке продолжится)? В каком потоке по умолчанию продолжается выполняться код после await ? Как указать самому в каком потоке выполнять код после await ?
Решение задачи: «Код после await в каком потоке продолжается?»
textual
Листинг программы
await Task.Delay(0);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д