thread.interrupt
时间: 2023-10-26 07:07:11 浏览: 78
Thread类的interrupt(),interrupted(),isInterrupted()1
当一个线程处于阻塞状态(如等待锁、睡眠、等待输入/输出等)时,可以通过调用该线程的interrupt()方法来中断该线程。这会设置线程的中断标志位,但并不会立即中断线程。如果线程在等待锁,则线程依然会处于BLOCKED状态,如果线程在睡眠,则会抛出InterruptedException异常并清除中断标志位。为了保证数据的一致性和完整性,我们需要在捕获InterruptedException异常后再次中断自己,置上中断标志位。这样,线程就可以在下一次循环中检查中断标志位并退出循环。
阅读全文