gpt4 book ai didi

Java:线程是否以我的应用程序结束

转载 作者:行者123 更新时间:2023-12-01 19:46:30 24 4
gpt4 key购买 nike

假设您有一个应用程序 A 和一个线程类,例如:

public class MyThread extends Thread {...}

从 A 开始,您可以使用以下命令启动线程:

new MyThread.start();

那么当应用程序 A 结束时,MyThread 是否也会停止?否则如何保证不会被中断?

最佳答案

线程在 Java 中运行有两种方式:

  • 作为普通应用程序线程
  • 作为“守护进程”线程。

当 JVM 退出时,它会检查是否有任何非守护线程仍在运行,并等待它们退出。如果您不希望 JVM 等待这些后台线程,请确保在线程上调用方法 setDaemon(true)

有关更多详细信息,请查看另一个问题:

What is a daemon thread in Java?

此外,作为旁注,目前在 Java 中运行线程的推荐方法是实现 Runnable,而不是扩展 Thread。请在此处查看更多详细信息。

"implements Runnable" vs "extends Thread" in Java

关于Java:线程是否以我的应用程序结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53066157/

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