Con riferimento al pacchetto java.util.concurrent e all'interfaccia Future, noto (a meno che non mi sbaglio) la possibilità di avviare una lunga attività ed essere in grado di eseguire una query sul i progressi vengono solo con la classe di implementazione SwingWorker.possibilità di ottenere i progressi su un futuro <T> oggetto
Questo pone la seguente domanda:
C'è un modo, in un non-GUI, un'applicazione non-Swing (imaging un'applicazione console) per avviare un lavoro lungo in background e consentono agli altri thread di ispezionare il progresso ? Mi sembra che non ci sia ragione per cui questa capacità debba essere limitata alle applicazioni swing/GUI. Altrimenti, l'unica opzione disponibile, per come la vedo io, è passare attraverso ExecutorService :: submit che restituisce un oggetto Future. Tuttavia, l'interfaccia base di Future non consente il monitoraggio dell'avanzamento.
Vedere http://stackoverflow.com/questions/2003354/how-can-i-report-progress-from-a-background-task – Mark