在Thread.join()之前调用Thread.interrupt()是否会导致join()立即抛出InterruptedException?
问题内容:
基本上,问题标题怎么说。
Thread t = new Thread(someRunnable);
t.start();
t.interrupt();
t.join(); //does an InterruptedException get thrown immediately here?
从我自己的测试来看,但似乎只是想确定一下。我猜想在执行“等待”例程之前先Thread.join()
检查interrupted
线程的状态?
问题答案:
interrupt()
中断您中断的线程,而不是中断线程。
cf
Thread.currentThread().interrupt();
t.join(); // will throw InterruptedException