Пул потоков ThreadPool в C#
Статический класс ThreadPool переиспользует готовые потоки для коротких
операций и снижает затраты на создание отдельных экземпляров
Thread.
Метод QueueUserWorkItem передаёт делегат одному из
потоков пула. Длительная блокировка внутри делегата может
задержать выполнение остальных операций.
Передадим в пул делегат, который выводит строку. Строка "pool" появляется в консоли из потока пула. Без короткой паузы
главный поток мог бы завершить программу раньше делегата:
ThreadPool.QueueUserWorkItem(_ => Console.WriteLine("pool")); // выведет pool
Thread.Sleep(50);
Поставьте в пул короткую работу, которая выводит в консоль строку "ready". Не завершайте программу, пока эта строка не появится.