5

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

有这种可能吗?或者这会停止它正在运行的线程吗?

4

2 回答 2

3

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

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

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

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

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

于 2012-10-18T11:36:39.783 回答
2

除了 Peter Lawrey 的回答之外,还有一种情况是未处理的异常会导致应用程序冻结:如果死线程已经抓住了程序其他线程所需的一些锁。

于 2012-10-18T11:39:47.557 回答