gpt4 book ai didi

JAVA DestroyJavaVM线程CPU过高

转载 作者:行者123 更新时间:2023-12-02 00:58:07 31 4
gpt4 key购买 nike

我发现当应用程序启动时,DestroyJavaVM 线程使用了 99% 的 cpu(大约一个 cpu 核心)。我找不到该线程的任何文档。 StackOverflow 中的一个答案说该线程除了加入其他非守护线程之外什么也不做。这让我很困惑为什么应用程序启动时它会使用这么多的CPU。我还发现一篇文章说DestroyJavaVM线程是其他线程的父线程,top命令将所有子线程的使用率累加到父线程。但是当我使用 pstree 命令显示 java 线程树时,情况并非如此。

最佳答案

DestroyJavaVM 不是一个单独的线程。它基本上是一个启动 VM 关闭的 Java 线程,即最后一个非守护程序应用程序线程,或者调用 System.exit() 的线程。

当 JVM 即将终止时,它将当前线程重命名为 DestroyJavaVM 并使用该线程启动关闭序列。

对于简单应用程序,当所有业务逻辑都是从 main 方法调用时,主线程将被重命名为 DestroyJavaVMmain 方法返回。您观察到的可能只是消耗 CPU 来完成其主要工作的主线程。

关于JAVA DestroyJavaVM线程CPU过高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61062002/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com