| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > thread pool и задачи, возвращающие значения |
| Автор: ochnev 13.5.2009, 12:14 | ||||
| Хотелось бы узнать, существует ли готовая реализация такой задачи. Thread pool, работающий подобно пулу, получаемому таким методом: java.util.concurrent.Executors.newFixedThreadPool(int nThreads) В него добавляются задачи, в виде, похожем на интерфейс java.util.Future или java.util.Callable:
А потом эти задачи чтобы можно чтобы было проверять:
То есть в пользовательском интерфейсе нажимаем кнопку, список задач запускается на выполнение, и пользователь видит список и статус каждой задачи. Более продвинутый вариант: К пулу присоединяется некий event listener, и при окончании (или при прекращении по таймауту) какой-нибудь задачи можно обновлять пользовательский интерфейс и показывать там новый отчёт о состоянии всех задач. Есть какая-нибудь реализация этого уже? Хотя бы не в продвинутом варианте. |
| Автор: COVD 13.5.2009, 15:48 | ||
К пулу не надо ничего прикреплять. Это задачи должны при изменении своего статуса генерировать события и ставить их в общую очередь (например, java.util.concurrent.LinkedBlockingQueue). А отдельный поток по одному их из очереди извлекает и передает интерфейсу для обновления. Интерфейс же обновляется в потоке EDT - EventDispatchThread. |