为什么主线程Thread.sleep(1000)后,会清除别的线程的interrupt状态呢?

来源:3-3 Java线程停止广为流传的错误方法---interrupt方法

小羊爱主

2015-08-01 11:02

为什么主线程Thread.sleep(1000)后,会清除别的线程的interrupt状态呢?

写回答 关注

1回答

  • 拿笔小馨
    2015-12-21 16:15:45

    主线程影响其它线程的执行进度,怎么会改变其它线程的interrupt状态,而且我也试了下,主线程的sleep只影响当前线程的interrupt状态,也就是说,线程影响其本身的interrupt状态,如果在main线程中调用Thread.sleep(),Thread是指主线程,影响执行进度;如果在子线程中调用Thread.sleep(),Thread是指当前线程,也就是子线程,等价于Thread.currentThread().sleep();

    额,其实只是个人理解,不知道对与不对,这就是我的理解,如果你要问当前线程sleep为什么会影响当前线程interrupt状态,那你就要去看源代码了——————————————。—————————

深入浅出Java多线程

带你一起深入浅出多线程,掌握基础,展望进阶路线

186088 学习 · 464 问题

查看课程

相似问题