My ThreadPoolExecutor
не создает новые потоки. На самом деле я написал несколько хакерских LinkedBlockingQueue
, которые будут принимать любую задачу (т.е. Она неограничена), но вызовет дополнительный обработчик, который в моем приложении выводит предупреждающую трассировку о том, что пул отстает - что дает мне очень ясную информацию о том, что TPE отказываясь создавать новые потоки, даже если в очереди есть тысячи записей. Мой конструктор выглядит следующим образом:
private final ExecutorService s3UploadPool =
new ThreadPoolExecutor(1, 40, 1, TimeUnit.HOURS, unboundedLoggingQueue);
Почему это не создает новые потоки?