Task и Thread
Вопрос
Чем Task отличается от Thread?
Попробуйте сами
Ответьте про себя или вслух, потом откройте ответ и сверьтесь.
Показать ответ и разбор
Коротко
Ответ
Thread это поток ОС: дорогой (стек около 1 МБ), управляется вручную.
Task это обещание результата операции. Он не обязательно связан с потоком: I/O-задача вообще не занимает поток, пока ждёт.
CPU-задачи из Task.Run выполняются на пуле потоков.
Task поддерживает продолжения, await, исключения, отмену и композицию (WhenAll, WhenAny).
Разбор
Создавать Thread вручную нужно редко: для долгой выделенной работы, со своим приоритетом или STA.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Предыдущий вопрос
Task.Run в ASP.NET Core
Следующий вопрос
TaskCompletionSource и синхронные продолжения