Продолжение о потоках...
Чтобы создать новый поток ОС, системе необходимо:
Выделить память под его структуры (включая стек).
Инициализировать его контекст.
Зарегистрировать его в планировщике ОС.
Эти операции требуют времени и ресурсов. Создание потока — значительно более дорогая операция, чем переключение между уже существующими потоками.
Итог: Дороговизна потоков
Переключение контекстов (Context Switch) и создание новых потоков ОС — это операции с высокой накладной нагрузкой. Именно эта дороговизна управления потоками ОС вручную становится ключевой причиной для использования механизма ThreadPool в .NET, о котором мы поговорим далее.