![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Platon |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 16 Всего: 40 |
Здравствуйте, уважаемые.
Возникла потребность обработать N задач M потоками. Я слышал о готовом решении ThreadPoolExecutor, который почти подходит. Есть только проблема: необходимо чтоб на время выполнения этой массовой задачи, текущий поток остановился и по выполнении определенного числа задач возобновил работу. Моё решение на скорую руку:
Код запуска:
В целом, и такое устроит. Но, как недавно вычитал, "наличие опыта не говорит о его ценности". Главное - знание. так вот хочется знать лучшее решение. Это сообщение отредактировал(а) Platon - 24.7.2008, 13:50 |
||||
|
|||||
ekr |
|
|||
![]() ...и это пройдет... ![]() ![]() Профиль Группа: Участник Сообщений: 359 Регистрация: 6.5.2007 Где: Moscow, RU Репутация: 3 Всего: 19 |
Глянь почту.
Там не ответы, а направления, куда смотреть ) |
|||
|
||||
w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 20 Всего: 54 |
Platon, всё очень просто: у любого ExecutorService есть метод awaitTermination(). Создайте пул, запустите задачи, инициируйте завершение - ExecutorService.shutdown() - ожидайте упомянутым вызовом.
Это сообщение отредактировал(а) w1nd - 24.7.2008, 14:10 -------------------- ![]() ![]() |
|||
|
||||
Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 16 Всего: 40 |
ekr, спасибо за чтиво! Давно хотел заняться параллельными процессами.
w1nd, примерно понял про инициирование завершения. Но для контроля надо проверить.
|
|||
|
||||
Ulysses4j |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 304 Регистрация: 6.6.2007 Где: Ростов-на-Дону Репутация: 2 Всего: 10 |
Platon, не могли бы переслать мне на почту, то, что вам ekr скинул?
-------------------- Communication is critical to the job of a programmer. C. Jazdzewski. Fatherly Advice To New Programmers |
|||
|
||||
Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 16 Всего: 40 |
Я вообще предлагаю erk выложить куда-нибудь.
|
|||
|
||||
soulman |
|
||||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 26.9.2008 Репутация: нет Всего: нет |
Например так:
|
||||
|
|||||
headzero |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 14.11.2006 Репутация: нет Всего: 1 |
Меня тоже интересует решение этой задачи? Вопрос решен или нет? Подскажите пожалуста окончательное решение: остаоновить работу пула поток при достижении определенного числа задач в пуле и возобновить когда число задач уменьшется до заданого уровня.
-------------------- Воображение важнее знания (Алберт Эйнштейн) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |