java的中断

中断可以理解为线程的标识位属性,它表示一个线程是否被其他线程执行了中断操作。线程通过方法isInterrupted()来判断线程是否被中断,也可以调用Thread.interrupted()对当前线程的中断标识位进行复位。如果该线程处于终结状态,即使它被中断过,在调用该线程对象的isInterrupted()方法依然会返回false。而且java的API中许多声明可以抛出InterruptedException的方法,实际上在抛出异常前会先将该线程的中断标识位清除,此时调用isInterrupted()方法还是返回false。也就是说线程没法通过中断退出(只限于sychnorized锁)。

内容来源于《java并发编程的艺术》

你可能感兴趣的:(并发)