| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > помогите разобраться с Thread? |
| Автор: unkis 27.4.2007, 11:01 | ||
| Ребята такая проблема, есть цикл, который запускает новые Thread, надо сделать, что как только достигло определённое количество Threas к примеру 5, цикл как бы останавливается и ждёт пока кол-во Thread не у уменьшится хотя бы на один, и если уменьшилось, то прродолжает дальше работать и создавать новые Threads. Как это реализовать? вот так я создаю новые Thrads.
|
| Автор: _Y_ 27.4.2007, 11:16 |
| Mожет сделать счетчик Thread-ов threadCounter? Если threadCounter<=5 запускается новый Thread, если нет - ставится в очередь. а по окончании работы каждый Thread генерирует событие проталкиваюшее эту очередь. А выглядеть это может так: обьект содержащий очередь Thread-ов. Внутри него и счетчик, и соответствующий слуштель, он Thread-ы и запускает когда решит нужным. А снаружи ему просто передаются новые обьекты-Thread-ы или команды на их создание. |
| Автор: boevik 27.4.2007, 11:42 |
| ещё вариант, использовать static variable - counter в классе requestLocationList Когда run запускается увеличивать counter, при окончании run уменьшать. Из while проверять сколько thred-ов бежит и соотвественно поступать полученому результату |
| Автор: W0LF 27.4.2007, 11:47 | ||
|
| Автор: W0LF 27.4.2007, 13:56 |
| вот еще паттерн Executor |
| Автор: unkis 29.4.2007, 11:03 |
| W0LF, то что надо, а можно небольшой пример |