使用任何按键恢复执行

时间:2017-06-21 20:25:01

标签: thread-sleep

我对java编码很新。我有一个thread.sleep()来暂停执行,并希望编写一个代码,以便在控制台上按键恢复执行。这是我的代码:

int pausetime = 9000; //user input
if (pausetime!=0){
thread.sleep(pausetime)}

例如用户输入9000并决定在5秒后恢复执行,代码应该在控制台上按任意键恢复执行。

1 个答案:

答案 0 :(得分:0)

如果您正在使用Thread.sleep,那么您必须中断此线程,该线程抛出您必须处理的异常并继续执行。

下面是一个示例代码,其中我在等待main方法中的输入时在run方法中暂停线程,然后在用户输入后中断上面的线程

void run(){
 try {
            Thread.sleep(15000);
                System.out.println("sleeping");
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

System.out.println("Runnig thread again");
}
...
main(...){
  Thread t= new Thread(task,"start");
    t.start();
    a=new InputStreamReader(System.in);
    char[] ac=new char[5];
    try {
        a.read(ac);
    } catch (IOException e){    
        e.printStackTrace();
    }
    if(ac.length>0) 
        t.interrupt();
}