Re: InterruptibleChannel's in Netbeans
"Maxym Mykhalchuk" <[email protected]> Wed, 28 Feb 2007 07:30:55 +0200
| Newsgroups | gmane.comp.java.netbeans.general.russian |
|---|---|
| Message-ID | <[email protected]> |
Степан, доброе утро, Чесно говоря с InterruptibleChannel не работал. Когда-то давно у NetBeans была проблема, что нельзя было ввести EOF в консоли http://www.netbeans.org/issues/show_bug.cgi?id=22611 Потом у них с Антом были проблемы, но вроде как тоже уже починились: http://www.netbeans.org/issues/show_bug.cgi?id=47708 ИМХО, однозначно нужно создавать новый багрепорт. Максим 26.02.07, WigBaM<[email protected]> написал(а): > Привет, > > Вот ломал голову себе вчера почему это не работало! Часа 2. Потом > догадался запустить программу не через Бинз, а напрямую из шелла и > всё заработало! Ну что за дела такие? Почему Бинз не прерывает > ввод по InterruptibleChannel? Код в сушности такой: > > static BufferedReader in = new BufferedReader( > new InputStreamReader( > Channels.newInputStream( > (new FileInputStream(FileDescriptor.in)).getChannel()))); > try { > (new TimeOut()).start(); > while (in.readLine() != null); > } catch (Exception ex) {/*exit app*/} > > public static class TimeOut extends Thread { > Thread threadToInterrupt = null; > public TimeOut() { threadToInterrupt = Thread.currentThread(); } > public void run() { > try { sleep(5000); } > catch(InterruptedException ex) {/*ignore*/} > threadToInterrupt.interrupt(); > } > } > > Даже когда прерывание произошло Бинз продолжает ждать ввод, и только > когда введена какая-нибудь строка это прерывание срабатывает. Если > запускать из под шелла, то всё работает как надо, прерывание после 5 > секунд срабатывает и программа завершается. Есть идеи почему Бинз > себя так плохо ведёт? > > -- > Best regards, > Степан К. mailto:[email protected] > > > > ___________________________________________________________ > Now you can scan emails quickly with a reading pane. Get the new Yahoo! Mail. http://uk.docs.yahoo.com/nowyoucan.html > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > -- ================================ Maxym Mykhalchuk phone: (+38) 066 242 40 10 icq: 172-308-458 [offline] skype: maxym.mykhalchuk ================================