我对java编码很新。我有一个thread.sleep()来暂停执行,并希望编写一个代码,以便在控制台上按键恢复执行。这是我的代码:
int pausetime = 9000; //user input
if (pausetime!=0){
thread.sleep(pausetime)}
例如用户输入9000并决定在5秒后恢复执行,代码应该在控制台上按任意键恢复执行。
答案 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();
}