理解interrupt可以假设该线程拥有一个变量boolean stopFlag,一开始这个flag为false
关于interrupt有三个方法:
1,interrupt() 表示停止调用该方法的线程,这句话并不会停止该线程,只是会告诉该线程,你现在需要停止了。怎样去停止让该线程自己去完成。这个方法就是将flag修改为true
2,isInterrupted()表示调用该方法的线程是否要停止。也就是返回flag的值
3,interrupted()是一个静态方法,表示当前线程也就是Thread.currentThread()所返回的线程是否要停止。同样也是返回flag的值,但是它还会将flag修改为false
本文详细解析了Java中线程中断的实现机制,通过一个假设的boolean变量stopFlag来模拟线程中断的状态。介绍了三种核心方法:interrupt()用于设置线程的中断标志;isInterrupted()用于检查当前线程是否被请求中断;interrupted()则不仅检查还清除中断状态。
1079

被折叠的 条评论
为什么被折叠?



