В продолжение вопроса , опубликованного мной, я пытаюсь использовать ThreadPoolExecutor в моей кодовой базе. Даже после неоднократных попыток понять из документа Java API я не смог четко понять функциональность/цель параметра keepAliveTime
, который должен быть передан в конструкторе. Надеюсь, кто-нибудь может объяснить мне хороший рабочий пример.
Выдержки из документа Java:
public ThreadPoolExecutor(int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
BlockingQueue workQueue)
keepAliveTime
-Когда количество потоков превышает количество ядер, это максимальное время, в течение которого избыточные простаивающие потоки будут ожидать новых задач перед завершением.