Thread Interrupt

2019-09-16  本文已影响0人  SnailFast

作用

        interrupt方法是Thread类的实例方法,哪个实例调用,将哪个实例线程的中断状态标识置为true,仅此而已。

应用

        interrupt方法只是一个通知,本身没啥用,需要配合其他方法一起使用,如实例方法isInterrupted、静态方法interrupted和一些可中断的阻塞方法。

        实例方法isInterrupted,检查实例线程的中断状态标识。如果实例线程处于中断状态,则返回true;否则返回false。如下图所示:

isInterrupted方法

        静态方法interrupted,检查当前线程的中断状态标识,并把当前线程的中断状态标识置为false。注意,在哪个线程里面调用interrupted方法(和哪个实例调用无关),就检查哪个线程的中断状态,并把该线程的中断状态标识置为false。

interrupted方法

        可中断的阻塞方法,如sleep、wait等,当调用完这些方法,线程会出于阻塞状态,如果该线程被其他线程将中断状态标识置为true,则该线程 会从阻塞状态醒来,抛出InterruptedException,并将该线程的中断状态标识置为false。

上一篇下一篇

猜你喜欢

热点阅读