问答详情
源自:3-3 Java线程停止广为流传的错误方法---interrupt方法

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

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

提问者:小羊爱主 2015-08-01 11:02

个回答

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

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

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