Pull to refresh

Comments 6

Другими словами, System.Threading.Tasks.Task класс — это тот же Thread, но со всякими удобствами

Ну что-то тут совсем. Task это всего лишь некое обещание вернуть результат и к потокам отношение имеющее постольку-поскольку.

Да, Task — это не Thread. Но ведь согласны же, что Task предполагает асинхронное выполнение в определенных случаях.

вы сейчас хотите сказать что для выполнения асинхронной операции нужен поток?

Нет. Я хочу сказать, что Task был создан для облегчения работы с потоками, для выполнения асинхронных операций, в т.ч. и без (дополнительных) потоков, если это возможно (синхронное выполнение и пр.).


Исправляю это место в статье. Спасибо за замечание

Асинхронной операции Task не нужен.
Метод с async / await транслируется в хитрый конечный автомат, который сразу возвращает свой внутренний Task.

Если после await, то все выполнение далее будет заключено в Action продолжения. Вот было бы интересно почитать как хранится стейтмашина. Рихтер написал что она структура, хотелось бы узнать подробнее как ее подхватывает свободный поток пула, еще в зависимости от syncronization context.
Sign up to leave a comment.

Articles