1

thread.sleep はいつ InterruptedException を生成しますか? 私はこれを使用していますが、例外は発生していません。スレッドの使用について助けてください。スレッドに情報を渡し、スレッドから情報を返すことについて。public class myThread extends Thread{

@Override
public void run(){

    try{

    while(true) {
        Thread.sleep(200);   
        System.out.println("Thread is running");

    }
   }
   catch(InterruptedException ex){
   System.out.println("Exception Occur");
   }
}

200ms以降例外は発生しません。どうして??

4

2 に答える 2

4

InterruptedExceptionを呼び出したスレッドを管理するインスタンスThread.interruptで呼び出されると、がスローされます。を呼び出す同じスレッド内であっても、そのメソッドを自分で呼び出すことで簡単にテストできます。その呼び出しの前に を付けて、何が起こるか見てみましょう。ThreadsleepsleepThread.currentThread().interrupt()

于 2012-11-03T16:16:17.437 に答える
4

私が知っているように、スリープしているスレッドを強制終了/中断しようとすると、InterruptedExceptionが生成されます。

于 2012-11-03T16:11:02.410 に答える