![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| ochnev |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 253 Регистрация: 27.3.2006 Репутация: нет Всего: нет |
Хотелось бы узнать, существует ли готовая реализация такой задачи.
Thread pool, работающий подобно пулу, получаемому таким методом: java.util.concurrent.Executors.newFixedThreadPool(int nThreads) В него добавляются задачи, в виде, похожем на интерфейс java.util.Future или java.util.Callable:
А потом эти задачи чтобы можно чтобы было проверять:
То есть в пользовательском интерфейсе нажимаем кнопку, список задач запускается на выполнение, и пользователь видит список и статус каждой задачи. Более продвинутый вариант: К пулу присоединяется некий event listener, и при окончании (или при прекращении по таймауту) какой-нибудь задачи можно обновлять пользовательский интерфейс и показывать там новый отчёт о состоянии всех задач. Есть какая-нибудь реализация этого уже? Хотя бы не в продвинутом варианте. |
||||
|
|||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 17 Всего: 43 |
К пулу не надо ничего прикреплять. Это задачи должны при изменении своего статуса генерировать события и ставить их в общую очередь (например, java.util.concurrent.LinkedBlockingQueue). А отдельный поток по одному их из очереди извлекает и передает интерфейсу для обновления. Интерфейс же обновляется в потоке EDT - EventDispatchThread. |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Посмотри класс SwingWorker.
Такие сложности нужны, если происходит очень много обновлений за одну секунду. А так можно просто из таска менять модель. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |