一个线程中的异常/错误可以暂停整个应用程序吗?

时间:2012-10-18 11:34:15

标签: java multithreading exception error-handling

如果在线程(不是主线程)中抛出错误/异常,是否可以暂停整个应用程序?

有可能吗?或者这会阻止它运行的线程吗?

2 个答案:

答案 0 :(得分:3)

  

如果在线程(不是主线程)中抛出错误/异常,是否可以暂停整个应用程序?

如果它导致唯一的非守护程序线程从run()

返回

如果有其他非守护程序线程在运行,或者捕获并处理了异常或错误,则应用程序将继续运行。

  

这会停止它运行的线程吗?

如果捕获并处理了异常或错误,它可能不会停止任何线程。

答案 1 :(得分:2)

除了Peter Lawrey的回答之外,还有一个案例,当未处理的异常可能导致应用程序冻结时:如果死线程已经抓住了其他程序线程所需的锁定。