My ThreadPoolExecutor
kann neue Threads nicht erstellen. In der Tat schrieb ich einen etwas hacky LinkedBlockingQueue
, der jede Aufgabe annehmen wird (dh es ist unbegrenzt), aber rufen Sie einen zusätzlichen Handler - der in meiner Anwendung Warnung Spur ausgibt, dass der Pool ist hinter - das gibt mir sehr explizite Informationen, die das TPE ablehnt Erstellen Sie neue Threads, obwohl die Warteschlange Tausende von Einträgen enthält. Mein Konstruktor ist wie folgt:ThreadPoolExecutor mit unbegrenzter Warteschlange erstellt keine neuen Threads
private final ExecutorService s3UploadPool =
new ThreadPoolExecutor(1, 40, 1, TimeUnit.HOURS, unboundedLoggingQueue);
Warum ist es zu schaffen keine neue Themen?
Im Zusammenhang mit http://stackoverflow.com/questions/19528304/how-to-get-the-threadpoolexecutor-to-increase-threads-to-max-before-queueing/19528305#19528305 – Gray