当线程T1加入线程T2并且T2被中断时会发生什么

时间:2013-06-13 11:46:06

标签: java multithreading

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

2 个答案:

答案 0 :(得分:2)

如果线程加入另一个线程,它会一直等到线程die(根据规范)。所以无论发生什么,如果第二个线程停止,等待线程将继续运行。

  

public final void join()                   抛出InterruptedException

     

等待此线程死亡。

答案 1 :(得分:2)

线程T1不一定会发生任何事情,因为join()正在等待 die 的线程,这与中断没有任何关系。< / p>

“中断”并不意味着“被杀”,这是join()所等待的。由线程中运行的代码决定线程中断时会发生什么。例如,一个线程可以选择捕获InterruptedException,忽略它并继续运行。