线上 cpu 负载过高 - java 原生 interrupt 使用不当
中断:其实就是一个状态位,默认为 false,当你调用 interrupt 方法时,会将中断状态置为 true,当线程因为调用 sleep,wait 等方法被阻塞时,会抛出 InterruptedException,这时中断状态位会置为 false。从上面所说可以看出,调用 interrupt 后并没有把线程终止,所以需要我们自己去处理,将 formatTransporter 修改如下,增加被中断时跳出循环,使线程正常结束,如果发生中断异常,也需要进行处理,使线程可以结束。那么这样些会不会有什么问题呢?
原创
2022-11-04 18:53:11 ·
117 阅读 ·
0 评论