Основываясь на тегах .net, я предполагаю, что вы имеете дело с потоками в Windows.
По крайней мере, в случае обычного планировщика Windows, спящие потоки обычно оказывают минимальное влияние на производительность.
Потоки будут потреблять некоторые ресурсы - например, каждый создаваемый вами поток получает свой собственный стек, блок информации о потоке и т. Д. При создании потока требуется некоторое количество памяти и процессорного времени.Эта память может быть выгружена, если у вас мало, и это займет немного больше времени (процессорное время, память и пропускная способность ввода-вывода и т. Д.)
Однако, когда поток спит, онобычно не потребляет процессорное время на постоянной основе.
В то же время, это звучит довольно паршиво.Вместо того, чтобы создавать множество потоков, которые проводят большую часть своего времени в спящем режиме, вы обычно хотите довольно небольшой пул потоков и просто отправляете задачи для выполнения этими потоками.Это экономит время на создание потоков, уменьшает использование памяти, очищает дизайн и упрощает использование переменных ресурсов процессора (например, увеличение размера пула потоков, если у вас больше процессоров).