Java 如何在线程睡眠期间获取用户输入?

Java 如何在线程睡眠期间获取用户输入?,java,multithreading,delay,Java,Multithreading,Delay,我有一个方法可以将当前线程延迟一段指定的时间,这段时间按照预期的方式工作。问题是我希望能够在延迟期间保存用户输入,这样,如果延迟期间的用户输入是“保存游戏”,那么将调用一个方法,程序将结束。我该怎么做呢。我目前的延迟方法是: public void delay() throws InterruptedException, IOException { try { Thread.currentThread().sleep(6000);

我有一个方法可以将当前线程延迟一段指定的时间,这段时间按照预期的方式工作。问题是我希望能够在延迟期间保存用户输入,这样,如果延迟期间的用户输入是“保存游戏”,那么将调用一个方法,程序将结束。我该怎么做呢。我目前的延迟方法是:

public void delay()  throws InterruptedException, IOException {

    try {
        Thread.currentThread().sleep(6000);               
    } catch(InterruptedException ex) {
        Thread.currentThread().interrupt();
    }
}

睡眠=真的什么都不做。您必须添加事件侦听器并单独处理保存事件。如果需要的话,你也可以从侦听器中断这个线程并结束睡眠。我不确定你想通过睡眠实现什么。我想你应该用一个。还有一些java游戏库可以在这方面给你很大的帮助。一个朋友教我:如果你使用sleep(),那你就错了。无论您使用sleep()的原因是什么,您都可以在不睡觉的情况下做得更好