【问题标题】:Is a user thread spawned by a daemon thread continue to live after all other user threads are completed?在所有其他用户线程完成后,由守护线程生成的用户线程是否继续存在?
【发布时间】:2018-12-10 11:02:49
【问题描述】:

通过文档:

如果所有用户线程都完成,所有守护线程突然停止,程序结束,直到至少 1 个用户线程处于活动状态,程序才处于活动状态。

所以我的问题的直观答案: “在所有其他用户线程完成后,由守护线程产生的用户线程是否继续存在?” 是:它继续存在

但我听到了相反的意见,请帮忙

【问题讨论】:

  • 线程的类型(守护进程/非守护进程)不依赖于它启动的线程类型,所以你的问题是基于一个错误的前提。
  • 任何线程启动的非守护线程都可以使应用程序保持活动状态。
  • 另外,该引用不是来自文档。 “直到至少 1 个用户线程处于活动状态”这句话没有意义(应该是“ 至少有 1 个用户线程...”)

标签: java multithreading daemon


【解决方案1】:

是的,如果其他非守护线程完成,非守护线程将继续运行。与如何创建非守护线程无关,即创建线程是否为守护线程。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-05
    • 1970-01-01
    • 1970-01-01
    • 2013-04-25
    相关资源
    最近更新 更多