![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| eugene88 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 11.11.2006 Репутация: нет Всего: нет |
Народ, подскажите, вот я пишу чат и у меня есть массив InputStream объектов, т. е. массив каналов связи на каждого клиента ( понятно, что каждому пользователю по каналу), и я просто тупо бегаю в цикле и смотрю, не появилось ли чего-нибудь в каком-нибудь из каналов связи, но этот бесконечный цикл, слишком много ресурсов жрет, нет ли другого способа обрабатывать сразу все каналы (кроме того, как создать на каждый канал по потоку)?
|
|||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 2 Всего: 159 |
А чем этот не устраивает? |
|||
|
||||
| eugene88 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 11.11.2006 Репутация: нет Всего: нет |
Ладно попробую переделать, раз готовых нет методов.
|
|||
|
||||
| COVD |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 11 Всего: 43 |
Если вы ожидаете тысячи клиентов одновременно, то для этого существует java.nio - неблокирующие операции ввода-вывода. Все клиенты могут обслуживаться одним потоком.
Цикл в любом случае бесконечный. Если у него нет работы, то он способен захватить 100% процессорного времени. Простейшим лечением является добавление обязательного sleep() в цикл. В nio эта проблема решается селектором, который блокируется, если нет ни одного канала, готового к вводу-выводу. Это сообщение отредактировал(а) COVD - 14.5.2007, 20:40 |
||||
|
|||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Работа с сетью | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |