isInterrupted()方法和Thread.interrupted()方法判斷中斷狀態的區別


①isInterrupted()方法:

  在Thread對象上調用isInterrupted()方法可以檢查任何線程的中斷狀態,但是:線程一旦被中斷,isInterrupted()方法便會返回true,而一旦sleep()方法拋出異常,它將恢復中斷標志,isInterrupted()方法在此時就會返回false。

如下代碼所示:

②Thread.interrupted()方法: 

  Thread.interrupted()方法是靜態方法,不能再特定的線程中使用,只能報告調用它的線程的中斷狀態;

如果當前線程被中斷,它會返回true,但是它會自動的重置中斷狀態為false;所以,第二次調用的時候,總是會返回false,除非中斷了線程。

如下代碼所示:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM