ExecutorService, как узнать, когда все потоки завершились, не блокируя основной поток?

У меня есть многопоточная реализация, в которой я создайте ExecutorService и отправьте задачи для выполнения, я хочу знать, когда все отправленные потоки завершились, не блокируя основной поток и пользовательский интерфейс. Я пробовал ExecutorService.awaitTermination(), но он блокирует основной поток и пользовательский интерфейс. Я много искал, но я не могу найти элегантный способ сделать это. В настоящее время я думаю о создании еще одного потока, который подсчитывает количество завершенных потоков и запускает событие, когда они все завершены, но это не лучший подход, и мне нужно лучшее решение!

6
задан Gray 25 September 2012 в 20:49
поделиться