是否有可能暂停一个线程,直到Scanner类检测到输入?

时间:2015-05-24 19:08:13

标签: java

我目前正在开展一个小型聊天程序。

到目前为止,这是我的服务器类的重要部分,它启动一个线程来监听客户端输入:

Scanner in = new Scanner(socket.getInputStream());
PrintWriter out = new PrintWriter(socket.getOutputStream());

while (true) {
    if ( in .hasNextLine() && clientName == null) {
        clientName = in .nextLine();
    }
    if ( in .hasNextLine()) {
        String input = in .nextLine();
        out.println(clientName + ":  " + input);
        out.flush();
    }
}

然而,这是不断循环的。我希望它等待输入,并暂停线程,直到发生这种情况。是否有一个内置函数让Scanner等待下一行,而不是检查是否有一个然后返回true为假?

1 个答案:

答案 0 :(得分:3)

只需删除extern "C" void Add2And7(int *); 来电,hasNextLine即可屏蔽。