我想在Java中实现一个停止点,以便在20秒内完成任何操作,除非用户按Enter键。 对于我只是用了一下:单线程中断睡眠
sleep(20000);
我知道一个线程可以“唤醒”使用wait()
和notify()
另一个线程,但我想知道是否有东西,并不需要抛出一个新的线。理想情况下,我想能够添加超时读操作上从键盘的InputStream,这样我就可以这样做:
try {
//Here is where the waiting happens
myStream.read();
} catch (TimeoutException e) { }
//... Continue normally
从Stream中读取是阻塞IO操作。 –
一旦一个线程正在休眠,它只能被另一个线程唤醒 – Victor2748