Ho un grosso file fino a terabyte, e il mio compito è quello di elaborare riga per riga. Ogni linea dovrebbe prendere 5 secondi per realizzare. Per migliorare le prestazioni di I spedizione il processo per un pool di thread fisso come questoCosa succede se la coda di ExecutorService è piena
ExecutorService executor = Executors.newFixedThreadPool(5);
while ((line = br.readLine()) != null) {
Runnable worker = new WorkerThread(line);
executor.execute(worker);
}
La mia domanda è che cosa succede se sopraffare coda dell'esecutore mettendo tanti compiti. Getta StackOverflow
?
due anni indietro mi è stato chiesto a questa domanda in un'intervista :) – Vipin
@Vipin: e vi ho ottenuto il lavoro? –
Non potevo rispondere a questo. Dopo alcune domande simili ho iniziato a consultare il codice sorgente JDK ovunque possibile. Aiuta a capire meglio il design. – Vipin