![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| KOp4iK |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 118 Регистрация: 26.11.2004 Где: Латвия Репутация: нет Всего: 3 |
Всем привет!
Есть код:
надо чтоб он выполнялся меньше 1 сек. (а то мы так "вечно" бум ждать)... имхо он будет на br.readLine() будет до тех пор пока не отвалиться... тогда как его прирвать? хотя мож не readLine() использовать? |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 11 Всего: 43 |
наверное, внешним потоком закрыть соединение и тогда читающий поток получит в readLine() исключение и разблокируется. Но надо иметь ссылку на соединение, т.е. не пользоваться укороченной формой записи "BufferedReader br = new BufferedReader(new InputStreamReader(source.openStream()));" |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 19 Всего: 538 |
Добавлено через 47 секунд А потом уже разбивать прочитанный текст, на линии. -------------------- 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. |
|||
|
||||
| KOp4iK |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 118 Регистрация: 26.11.2004 Где: Латвия Репутация: нет Всего: 3 |
А если на
мы сядем и будем ждать тайм оута?!?! |
|||
|
||||
| Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: нет Всего: 62 |
KOp4iK
Вот эта часть условия станет false через указанный Вами timeout: (System.currentTimeMillis() - start) < timeout |
|||
|
||||
| KOp4iK |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 118 Регистрация: 26.11.2004 Где: Латвия Репутация: нет Всего: 3 |
Да ладно!!!! (System.currentTimeMillis() - start) < timeout мож и станет false, но мы об этом не узнаем так как будем сидеть внутри reader.read()
|
|||
|
||||
| Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: нет Всего: 62 |
KOp4iK
мм... давай тогда завернем (read = reader.read(buffer, 0, 128)) != -1) в отдельный поток |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 19 Всего: 538 |
Не будем. Метод reader.read(byte[], int, int) - неблокируемый, если в буффере нет данных, то он просто вернет 0. -------------------- 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. |
|||
|
||||
| Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: нет Всего: 62 |
||||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 11 Всего: 43 |
Наверное, есть риск, что захватит 100% CPU, если практически вхолостую будет крутиться? Или нету?
|
|||
|
||||
| LSD |
|
||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 19 Всего: 538 |
В принципе есть. Зависит от того как реализован InputStream, по идее он обращается к средствам ОС, и значит тики отдает. Но все равно попробовать стоит. В крайнем случае можно сделать так:
-------------------- 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. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Работа с сетью | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |