3

我有一个线程 T1 加入线程 T2 的场景。当线程 T2 被中断时会发生什么。T1 将继续还是 T1 也会被中断。

4

2 回答 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 回答