在Java中使用Thread.sleep时如何暂停输入

在Java中使用Thread.sleep时如何暂停输入,java,Java,当我使用Thread.sleep暂停程序中的执行时,程序似乎仍然能够获得输入,即使在暂停时也是如此。这有什么办法吗?我正在使用Java2,我已经浏览了很多论坛,但是找不到合适的答案 这是我用来暂停程序的代码: Thread.sleep(2000); int input = c.readInt(); 您的程序不控制终端设备。您可以看到您键入的内容,因为实际控制设备的软件正在读取键盘输入并将其写入屏幕。您的程序处于睡眠状态时未获得任何输入 究竟是什么控制终端窗口或设备取决于操作系统,当深入细节时,

当我使用
Thread.sleep
暂停程序中的执行时,程序似乎仍然能够获得输入,即使在暂停时也是如此。这有什么办法吗?我正在使用Java2,我已经浏览了很多论坛,但是找不到合适的答案

这是我用来暂停程序的代码:

Thread.sleep(2000);
int input = c.readInt();

您的程序不控制终端设备。您可以看到您键入的内容,因为实际控制设备的软件正在读取键盘输入并将其写入屏幕。您的程序处于睡眠状态时未获得任何输入


究竟是什么控制终端窗口或设备取决于操作系统,当深入细节时,事情变得复杂起来。例如,在Unix上,它由一个叫做“行规程”的东西来处理。默认(“规范化”)设置允许您在将文本行发送到程序之前编辑它们。它还为作业控制截取control-c和control-z等组合键。进一步阅读:

这个问题似乎有点宽泛。。。让我们试着澄清一些要点。应用程序中的暂停到底是什么?您希望程序暂停多长时间?似乎有些混乱。在上面的代码片段中,对
c.readInt()
的调用将在2秒后才会发生。请提供更多关于您看到的结果的详细信息,这些结果似乎表明输入发生在睡眠完成之前。我看起来您正在终端中键入,但此输入将在2秒后传递给java代码。你还需要分享更多的细节。您如何知道程序正在获取输入?你能分享完整的计划和你采取的步骤吗。