Пул потоков - это метод, который включает очередь и несколько потоков, принимающих задания из очереди и обрабатывающих их.Это отличается от техники запуска новых потоков при появлении новой задачи.
Преимущество состоит в том, что максимальное количество потоков ограничено , чтобы избежать слишком большого количества потоков и что с любой новой задачей связано меньше накладных расходов (поток уже запущен и выполняет задачу. Не требуется запуск угрозы).
Является ли это хорошим проектом, во многом зависит от вашей проблемы.Если у вас много коротких заданий, которые приходят в вашу программу с очень высокой скоростью, то это хорошая идея, потому что снижение накладных расходов действительно является преимуществом.Если у вас очень большое количество одновременных задач, это хорошая идея, чтобы не допустить, чтобы ваш планировщик выполнял слишком много работы.
Во многих областях пул потоков просто бесполезен.Таким образом, вы не можете обобщать.Иногда многопоточность вообще невозможна.Или даже не желательно, так как многопоточность добавляет к вашему коду непредсказуемый элемент (условия гонки), который крайне сложно отлаживать.
Библиотека пула потоков вряд ли "заставит" вас использовать его.Вам все еще нужно все продумать, и если вы просто начнете одну тему ... Не поможет.