S>>>> В JavaScript, под влиянием TypeScript пришли к тому, что await значительно лучше чем создание цепочек обратных вызовов S>>·>Лучше, конечно. Но речь идёт про virtual threads. С ними не нужен ни await, ни цепочки обратных вызовов. Можно писать тупой синхронный код и выполнять на миллионах тредов. S>> Речь вообще то идет про асинхронный код в общем. virtual threads не покрывает все возможные варианты. Я специально тебе вопросы задавал. ·>А ответы-то прочитал?
Потому, что task это задача. А задачу я могу использовать множествами способов. Начиная от await но и Task.WhenAll и WhenEny а так же создавать задачи на основе TaskCompletionSource.
А так же использовать CancellationToken
На самом деле внутри await выполняется множество дочерних задач и нужно их контролировать если не выполнилась одна из родительских задач.
Даже обычное асинхронное может использовать таймауты, которое внутри использует WhenEny.
И вот вопрос как отличать Task как асинхронное и параллельное использование?
В той же Java используются FutureTask. Callable и Future
Казалось бы зачем?
и солнце б утром не вставало, когда бы не было меня