不可中斷的阻塞方法
- 輸入和輸出流類會阻塞等待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.