В случае, если newCachedThreadPool()
создает пул потоков, который при необходимости создает новые потоки, но будет использовать ранее созданные потоки, когда они будут доступны, тогда как в случае newFixedThreadPool(int size)
укажите размер для создания пула потоков с размером указано.newFixedThreadPool() vs newCachedThreadPool()
Почему нет newFixedThreadPool(int size)
, реализованный в newCachedThreadPool()
моде, где пул потоков создает новую цепочку только при необходимости и ограничивает размер потока?
Любые разъяснения по вышесказанному действительно полезны.
Связанный: http://stackoverflow.com/questions/949355/newcachedthreadpool-vs-newfixedthreadpool – Maroun
Потому что это больше не будет ** фиксированным ** пулом потоков. Созданные пулы потоков являются экземплярами ThreadPoolExecutor, созданных с различными параметрами. Создание запуска нового потока занимает некоторое время, и вы можете захотеть, чтобы это время было принято при запуске, а не при отправке новой задачи. –
@JBNizet Не будет ли он содержать ресурсы в случае фиксированного пула потоков. Его решение между которыми более дорогое. Любое понимание этого. – Brinal