我有一个线程T1加入线程T2的场景。当线程T2被中断时会发生什么。 T1是否继续或T1是否也会中断。
答案 0 :(得分:2)
如果线程加入另一个线程,它会一直等到线程die
(根据规范)。所以无论发生什么,如果第二个线程停止,等待线程将继续运行。
public final void join() 抛出InterruptedException
等待此线程死亡。
答案 1 :(得分:2)
线程T1不一定会发生任何事情,因为join()
正在等待 die 的线程,这与中断没有任何关系。< / p>
“中断”并不意味着“被杀”,这是join()
所等待的。由线程中运行的代码决定线程中断时会发生什么。例如,一个线程可以选择捕获InterruptedException
,忽略它并继续运行。