【问题标题】:Method that runs in parallel of a KeyListener与 KeyListener 并行运行的方法
【发布时间】:2016-01-27 06:20:23
【问题描述】:

我有一个KeyListener,它在某个窗口上听键盘。如果我不正确,请随时纠正我,但在按下键时会调用适当的方法。

现在,在一个无限循环中,我有一个方法可以在套接字上侦听输入:

while (true) {
    inputStream.read();
    ...
}

这是否意味着如果某个键被按下,keyPressed() 将永远不会被调用来接它?我必须为它启动一个单独的线程吗?

【问题讨论】:

    标签: java multithreading network-programming keylistener


    【解决方案1】:

    如果无限循环在同一个线程中,则不会调用 keylistener,即使调用它也不会发生任何事情,因为执行将处于无限循环中,直到您随时退出为止。

    如果您计划创建一个无限循环(首先您应该确保这是您正在寻找的方法),您很可能需要一个单独的线程,以及您想要的确切行为的良好设计

    【讨论】:

    • 因此,这是一个在单独的机器上运行并等待来自服务器的数据的客户端,其中“运行”意味着它监视键盘事件并相应地采取行动。我无法知道数据何时会到达套接字的输入流,并且键盘事件也可能随时发生。如果您有这样的事情,请随时建议任何更好的方法。
    猜你喜欢
    • 2017-10-24
    • 1970-01-01
    • 2016-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多