【发布时间】:2011-01-16 00:29:36
【问题描述】:
我正在用 java 开发一个 MUD。我每次都读取玩家输入,但我使用的是使用阻塞操作的Scanner。我想要非阻塞输入。
我查看了nio 包,它有一个Selector 类,但我不确定如何使用它来处理System.in。我想我在运行服务器后肯定会需要它,但现在一切都处于离线状态。
我尝试从Applet 扩展主类并覆盖keyDown,但这只是意味着在第一个之后不再接受输入。当然,我不再阻止任何东西,但是没有更多的输入。我猜keyDown 再也没有接到过电话。
也许线程即使在执行阻塞操作时也会被中断?
感谢您对此问题的任何见解。
【问题讨论】:
-
非阻塞套接字(网络)的完成方式与非阻塞 IO 不同,至少在大多数环境中不同。
标签: java input textinput stdio