Task vs Thread в рамках C#
Vložit
- čas přidán 6. 09. 2024
- Разобрал важную тему в рамках многопоточного программирования: Thread vs Task.
Thread - это низкоуровневый API который нужен для работы с потоками. Есть какая-то задача которую нужно выполнить в отдельном потоке, в этом случае может помочь Thread, но тут есть проблема, что при каждом выполнении метода нужно будет создавать отдельный поток, а это очень дорогая операция, поэтому создали ThreadPool с которым работает как раз Task.
Task - это абстракция над Thread которая имеет более обширный функционал, главное преимущество над Thread - это наличие ThreadPool, в ThreadPool сразу выделяется какое-то количество потоков, которые потом будут браться оттуда по мере необходимости, а когда работа завершиться, то они вернуться обратно и будут ждать ожидания.
Так же Task можно использовать с асинхронными операциями.
Ну ещё Task возвращает значение.
В некоторых моментах Thread будет использовать предпочтительнее:
- Нам нужна задача, работающая в режиме Foreground.
- Нам нужно создать поток с определенным приоритетом.
- Задача должна долго выполняться в рамках одного потока.
Полный разбор многопоточности есть на Boosty, видео пополняются, уже разбираю примитивы синхронизаций.
Ссылка на Boosty: boosty.to/itho...
Ссылка на Telegram: t.me/ith0omester
Годнота подъехала, спасибо.
Можно ссылку на статью? 46:58
Таймкодов жаль нет