作用
用来中断阻塞任务,如果任务没有阻塞就不会抛出中断异常。
方法
- Thread类的
interrupt()
设置线程中断状态为true。 - 调用Executor的
shutdownNow()
方法。 - 调用**Future<?>**的
cancel(true)
方法。
何时触发
当任务要进入到阻塞操作或处于阻塞操作内部时,就会发生中断,即InterruptException
异常。
例外
I/O操作和同步方法synchronized
无法通过interrupt()
方法中断。
引发阻塞的情况
- 调用sleep
- 调用wait()
- 等待某个输入或输出
- 调用同步方法,但对象锁不可用