不可中断的阻塞方法
- 输入和输出流类会阻塞等待I/O完成.但是它们不会抛出InterruptedException, 而且在被中断的情况下也不会提前返回.
- 对于套接字 I/O.如果一个线程关闭套接字,则该套接字上的阻塞I/O操作将会提前结束,并且抛出SocketException
- java.nio 中的非阻塞 I/O 类也不支持可中断 I/O.但是同样可以通过关闭通道或者请求Selector上的唤醒来取消阻塞操作.
- 获取一个内部锁的操作(即:进入一个Synchronized块)是不能被中断的, 相比之下ReentrantLock支持可中断的获取模式.
Thread.interrupted()状态
调用了Thread.interrupt()后,即使没有抛出InterruptedException,但是Thread.interrupted()的状态会从false转变成true.