Moje ThreadPoolExecutor
nie tworzy nowych wątków. W rzeczywistości napisałem nieco hacky LinkedBlockingQueue
, który zaakceptuje dowolne zadanie (tj. Jest nieograniczony), ale wywoła dodatkowy moduł obsługi - który w moich aplikacjach wypluwa ostrzeżenie śledzące, że pula jest w tyle - co daje mi bardzo wyraźną informację, że TPE odmawia tworzyć nowe wątki, mimo że kolejka zawiera tysiące wpisów. Mój konstruktor wygląda następująco:ThreadPoolExecutor z nieograniczoną kolejką nie tworząc nowych wątków
private final ExecutorService s3UploadPool =
new ThreadPoolExecutor(1, 40, 1, TimeUnit.HOURS, unboundedLoggingQueue);
Dlaczego nie tworzy nowych wątków?
Związane z http://stackoverflow.com/questions/19528304/how-to-get-tread-examplepoolexecutor-to-increase-threads-to-max-before-queueing/19528305#19528305 – Gray