2017-06-21 1 views
0

私はJavaコーディングではとても新しいです。私は実行を一時停止するthread.sleep()を持っていて、コンソール上でキーを押して実行を再開するコードを書きたいと思っています。ここに私のコードは次のとおりです。たとえば、ユーザーのためのキープレスを使用して実行を再開する

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

コードは、コンソール上の任意のキーを押すと実行を再開する必要があり、9000に入り、5秒で実行を再開することを決定します。

+0

私はあなたが見ておくべきであると仮定[ '待ちます'sleep()'の代わりに '' notify() ''と '' notify() ''(https://stackoverflow.com/a/1036763/2656632) –

答えて

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(); 
} 
関連する問題