Ho il seguente problema e vorrei sapere cosa succede esattamente. Sto usando Java ScheduledExecutorService per eseguire un'attività ogni cinque minuti. Funziona molto bene. Gli esecutori hanno completamente cambiato il modo in cui eseguo la programmazione dei thread in Java.Eccezioni non gestite con gli esecutori pianificati Java
Ora, ho sfogliato Java Doc per informazioni su quale sarebbe il comportamento nel caso in cui l'operazione pianificata abbia esito negativo con un'eccezione non gestita, ma non è stato possibile trovare nulla.
La prossima operazione pianificata è ancora in esecuzione? Se c'è un'eccezione non gestita, l'esecutore pianificato interrompe l'attività di pianificazione? Qualcuno può indicare informazioni su questo semplice problema?
Grazie mille.
Grazie mille per la risposta. Non l'ho visto in API Doc. –
Una rapida ricerca dell'origine per ThreadPoolExecutor (in cui è implementato STPE) suggerisce che RuntimeExceptions verrà catturato in modo ordinato e riportato indietro tramite ScheduledFuture, ma che causerà anche la chiusura del thread di lavoro. Il TPE noterà questa terminazione del thread di lavoro e produrrà una nuova sostituzione, se necessario. Vedere runWorker() e processWorkerExit() in java.util.concurrent.ThreadPoolExecutor nei sorgenti JDK o sul sito di Doug Lea. – andersoj