方法在java中被中断,当在while循环中使用它时是否会中断线程?

方法在java中被中断,当在while循环中使用它时是否会中断线程?,java,multithreading,Java,Multithreading,如果我这样使用这个方法,它是否会中断线程 while ( !interrupted() && more work to do){ /* main thread execution loop*/ } 第二个问题:这句话是什么意思 interrupt()方法,并不自动意味着线程应该 终止它只是抓住了线程的注意力(有点像 (戳醒熟睡的室友) 调用interrupted()不会“中断”线程中代码的执行。但是,如果运行循环的线程被另一个调用它的线程中断,则您的条件将导致循环退出,前提是循

如果我这样使用这个方法,它是否会中断线程

while ( !interrupted() && more work to do){ /* main thread execution loop*/ }
第二个问题:这句话是什么意思

interrupt()方法,并不自动意味着线程应该 终止它只是抓住了线程的注意力(有点像 (戳醒熟睡的室友)

调用
interrupted()
不会“中断”线程中代码的执行。但是,如果运行循环的线程被另一个调用它的线程中断,则您的条件将导致循环退出,前提是循环中没有其他代码调用
interrupted()
(这将清除当前线程的interrupted状态)

您引用的文本解释了线程的代码必须通过检查线程的中断状态,或通过调用能够引发InterruptedException(或)的方法,对中断执行操作。如果线程的代码不执行这些操作,那么在该线程上调用
interrupt()
对代码执行没有影响;它只会设置线程的中断状态,这只是线程的一个布尔属性。为了使中断有效,代码必须正确响应中断