java.lang.Thread类有一个 interrupt 方法,该方法直接对线程调用。当被interrupt的线程正在sleep或wait时,会抛出 InterruptedException 异常。事实上, interrupt 方法只是改变目标线程的中断状态(interrupt status),而那些会抛出InterruptedException 异常的方法,如wait、sleep、join等 ...
线程的 thread.interrupt 方法是中断线程,将会设置该线程的中断状态位,即设置为true,中断的结果线程是死亡、还是等待新的任务或是继续运行至下一步,就取决于这个程序本身。线程会不时地检测这个中断标示位,以判断线程是否应该被中断(中断标示值是否为true ...
线程状态示意图如下: 当线程处于等待状态(WAITING)或者有超时等待状态(TIMED_WAITING)时,可以通过调用线程的 interrupt ...
myThread.interrupt();// 中断的是调用 interrupt() 方法的线程 阻塞于 wait/join/sleep 的线程,中断状态会被清除掉,同时收到异常 InterruptedException;而其他情况中断状态都被设置,并不一定收到异常。`interrupt()` 方法其实是通知线程该中断了。线程具体中断还是继续执行 ...