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