interrupt()、isInterrupted()、Thread.interrupted()

普通方法:线程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()只能查看当前线程状态;
注:线程什么时候退出,由线程自行决定。

发布了28 篇原创文章 · 获赞 3 · 访问量 725

猜你喜欢

转载自blog.csdn.net/XDtobaby/article/details/104113124