Fed*_*kov 8 java daemon finally
我知道最后在deamon线程中的块不会被执行.但是我一丝不苟地试图理解为什么以及JVM中发生的事情如此特殊以至于无法调用此块下的代码.
我认为它以某种方式与调用堆栈有关,它不能放松,但不知道如何.有人可以对此有所了解.谢谢.
Joa*_*uer 11
谁说finally守护程序线程中的块不执行?这是不是真的一般.
您可能听说过finally在执行try(或catch)块期间关闭JVM时无法保证执行块.这是正确的(它很容易发生在守护程序线程上).
但同样:正常运行期间,没有什么是停finally在守护线程正常执行块:他们是不是不同的处理.
关机的问题很简单:当JVM被要求关停,甚至被迫停工,那么它可能根本不能够执行更多的语句.
例如,在POSIX-y操作系统上,信号9(SIGKILL)强制应用程序退出,使其无法进行任何清理(这就是信号15(SIGTERM)通常是首选的原因).在这种情况下,JVM 无法执行该finally块,因为操作系统不会再让它运行.
| 归档时间: |
|
| 查看次数: |
2600 次 |
| 最近记录: |