我有一个线程 T1 加入线程 T2 的场景。当线程 T2 被中断时会发生什么。T1 将继续还是 T1 也会被中断。
问问题
94 次
2 回答
2
线程 T1 不一定会发生任何事情,因为join()
正在等待线程死亡,这与它被中断无关。
“中断”并不意味着“杀死”,这join()
是等待的。线程被中断时会发生什么取决于线程中运行的代码。例如,一个线程可以选择捕获InterruptedException
、忽略它并继续运行。
于 2013-06-13T12:03:45.877 回答
2
如果线程加入另一个线程,它会等到线程die
(根据规范)。所以无论发生什么,如果第二个线程停止,等待的线程将继续运行。
public final void join() 抛出 InterruptedException
等待这个线程死掉。
于 2013-06-13T11:50:13.330 回答