gpt4 book ai didi

java - 如何使线程崩溃或故意挂起线程?

转载 作者:行者123 更新时间:2023-11-30 08:34:39 27 4
gpt4 key购买 nike

只是好奇如何在崩溃后检查线程状态。到目前为止,我做了一些 System.exit(0) 或 (1) 但在我看来线程仍然存在并且可以运行 - 期待它被终止。这是我检查线程的测试代码

public static void main(String[] args) {
Runnable runnableJob = new JobThatImplementsRunnableJob();
Thread testThread = new Thread(runnableJob);

System.out.println("this is the testThread "+testThread.getState());
System.out.println("thread is alive " + testThread.isAlive());
testThread.start();

System.out.println("this is the testThread after starting"+testThread.getState());
System.out.println("thread is alive " + testThread.isAlive());

}

在可运行类中,我有意使用 System.exit(1) 或 (0)。我也确实让它抛出一个错误,但仍然显示线程的 RUNNABLE 状态。

public class JobThatImplementsRunnableJob implements Runnable {
public void run() {
System.exit(1);
//System.exit(0);
//throws Error
}

}

下面是控制台输出

this is the testThread NEW
thread is alive false
this is the testThread after startingRUNNABLE
thread is alive true

我希望上面的信息足够了,谢谢你的建议。

最佳答案

当 main 的最后两个 Sysout 运行时,线程实际上是活跃的。您需要在主线程中 hibernate 。可能是 5 秒。

关于java - 如何使线程崩溃或故意挂起线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38736723/

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