Odwołując się do pakietu java.util.concurrent i interfejsu Future zauważam (chyba że się mylę), że zdolność do uruchamiania długich zadań i możliwość zapytania na Postęp przychodzi tylko z klasą implementacji SwingWorker.Możliwość uzyskania postępu w Przyszłości <T> obiekt
Nasuwa się następujące pytanie:
Czy istnieje sposób, w non-GUI aplikacji non-Swing (obrazowanie aplikacji konsoli), aby rozpocząć czasochłonne zadanie w tle i pozwalają na inne wątki do wglądu postęp ? Wydaje mi się, że nie ma powodu, dla którego ta zdolność powinna być ograniczona do aplikacji typu swing/GUI. W przeciwnym razie jedyną dostępną opcją, tak jak ją widzę, jest przejście przez ExecutorService :: submit, która zwraca obiekt Future. Jednak bazowy interfejs Future nie pozwala na monitorowanie postępu.
Zobacz http://stackoverflow.com/questions/2003354/how-can-i-report-progress-from-a-background-task – Mark