Я рассматривал новый асинхронный материал в C # 5, и возник один конкретный вопрос.
Я понимаю, что ключевое слово await
- это изящный трюк / синтаксический сахар компилятора для реализации передачи продолжения , где оставшаяся часть метода разбита на Задачу
и поставлены в очередь для выполнения по порядку, но где управление возвращается вызывающему методу.
Моя проблема в том, что я слышал, что в настоящее время это все в одном потоке. Означает ли это, что этот асинхронный материал на самом деле всего лишь способ превратить код продолжения в объекты Task
и затем вызвать Application.DoEvents ()
после завершения каждой задачи перед запуском следующей?
Или я что-то упускаю? (Эта часть вопроса риторическая - я полностью осознаю, что мне не хватает чего-то :))