西海岸より

つらつらざつざつと

Interruptされるタイミング

細かいところだけれど、interrupt状態でsleepに入るとInterruptedExceptionが即座にスローされる。

  • InterruptedThread.java
public class InterruptedThread{
        public static void main(String[] args){
                Thread.currentThread().interrupt();
                try{
                        Thread.sleep(1000);
                }catch(InterruptedException e){
                        e.printStackTrace();
                }
        }
}
  • 実行結果
mmasashi-macbook:threadtest mmasashi$ java InterruptedThread
java.lang.InterruptedException: sleep interrupted
	at java.lang.Thread.sleep(Native Method)
	at InterruptedThread.main(InterruptedThread.java:5)

知らなかった。。