普通方法:线程A调用B.interrupt()通知B线程停止
情况一:如果B线程正在休眠(sleep/wait/join),会受到InterruptedException异常,状态位保持false;
情况二:如果B线程没有休眠,状态改为true;
isInterrupted()和静态方法Thread.interrupted()
线程可以通过普通方法:isInterrupted()和静态方法Thread.interrupted()获取当前状态,区别:
1.isInterrupted()只获取当前状态,不会修改状态的值;
2.Thread.interrupted()获取当前状态,并修改状态为true;
3.isInterrupted()任何线程都可以调用,只要有线程对象;
4.Thread.interupted()只能查看当前线程状态;
注:线程什么时候退出,由线程自行决定。