プロが教えるわが家の防犯対策術!

う~ん、ワカラン

A 回答 (1件)

sleepしているスレッドに対して、interrupt()メソッドを呼び出すと発生します。



たとえば以下のような感じ

class TestThread extends Thread {
 /**
  * 10秒スリープして終了するだけのスレッド
  */
 public void run() {
  try {
   // 10秒スリープ
   Thread.sleep(10000);
  } catch(Exception e) {
   e.printStackTrace();
  }
 }
}

class Test {
 public static void main(String[] args) {
  try {
   // TestThread を走らせる
   TestThread thread = new TestThread();
   thread.start();
   // 1秒待つ
   Thread.sleep(1000);
   // TestThreadに割り込む
   thread.interrupt();
  } catch(Exception e) {
   e.printStackTrace();
  }
 }
}

コンパイルもしていませんので動くかどうかわかりませんけど、イメージは伝わるのではないでしょうか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!