閱讀957 返回首頁    go 汽車大全


對interrupt、interrupted和isInterrupted的理解

1.interrupt
線程中斷使用,Thread有stop() 不推薦使用,建議用中斷的方法來實現
Thread.interrupt(),
2.interrupted
線程中斷,並且清除中斷狀態(參考介紹interrupted的實現:https://blog.csdn.net/hj7jay/article/details/53462553)

public static boolean interrupted() {  
    return currentThread().isInterrupted(true);  
}
 * Tests if some Thread has been interrupted.  The interrupted state 
 * is reset or not based on the value of ClearInterrupted that is 
 * passed. 
 */  
private native boolean isInterrupted(boolean ClearInterrupted);  

3.isInterrupted
檢查中斷狀態

4.InterruptedException
JDK中響應中斷的方式是拋出異常,拋出InterruptedException時,會清除中斷狀態,參考:https://blog.csdn.net/hj7jay/article/details/53462553
這段引用:“
image

需要在catch InterruptedException中 執行 Thread.currentThread().interrupt(); 來恢複中斷狀態

5.無法被中斷的處理方式介紹
參考:https://www.jianshu.com/p/f75b77bdf389
這篇介紹能被中斷和無法被中斷的處理方式介紹,可以看看無法被中斷的場景以及參考的資料,同時感覺這位同學的這句話蠻好,“InterruptedException 是最常見的中斷表現形式。所以如何處理 InterruptedException 便成為 Java 中斷知識中的必修課。”

20171016

最後更新:2017-10-16 11:03:26

  上一篇:go  阿裏雲總裁胡曉明:未來和合作夥伴一起,服務1000萬家企業
  下一篇:go  去中心化數字資產交易所係統