Если честно ответить на вопрос: это полностью зависит от ОС и дизайна приложения, но этот вопрос может указывать на недостаток в дизайне программы.
Деталь:
Вы хотите узнать требования к выделению потока в вашей целевой архитектуре / ОС, а также сохранить свои потоки относительно занятыми / избегать опроса и правильно настроить приоритеты, если у вас действительно много потоков. «Многих» потоков может быть 8 (или меньше, если они заняты) или 100+, если у них относительно мало работы, в конечном итоге это зависит от ваших потребностей и дизайна.
В качестве тестов для некоторых тестов / объектов / операций я использовал более 100, а иногда и более 1000 рабочих потоков. Никаких взрывов не произошло, хотя у меня никогда не было реальной необходимости , чтобы эти операции были , а параллельными в приложении доставки (если только вышеупомянутые программы не используются в очень необычных обстоятельствах), имело больше смысла помещать фактическую реализацию в некоторый централизованный диспетчер задач. Если у вас есть приложения, критичные ко времени / в реальном времени, то эти задачи могут быть лучше в другом потоке. Если они недолговечны, рассмотрим пул потоков ... ну, есть много способов атаковать многие проблемные классы ...