当在某个线程上调用 Thread.interrupt() 时,会发生什么情况?

2022-09-04 05:48:47

当在某个线程上调用 时,该线程会发生什么情况?Thread.interrupt()


答案 1

目标线程被“中断”。大多数情况下,在该线程中设置了一个标志,线程可以查看该标志(使用 )。如果目标线程当前在某些 I/O 或 上被阻塞,则分别使用 或 唤醒目标线程。Thread.interrupted()Object.wait()InterruptedIOExceptionInterruptedException

线程中断是微移线程的温和方法。它用于给线程一个干净利落的机会,而不是,这更像是用突击步枪射击线程。Thread.stop()


答案 2

该方法的 Javadoc 解释了在什么情况下会发生什么。