为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 setdaemon 属性在主线程结束时不结束子线程?

为什么 setdaemon 属性在主线程结束时不结束子线程?

千万里不及你 2023-01-05 17:02:51
我正在运行一段代码来理解守护进程线程的概念和线程终止。即使在 main 方法完成后,程序仍会继续打印。我在这里错过了什么吗?package threading;public class ThreadInterruption {    public static void main(String[] args) {        Thread t = new Thread(new RanThread());        t.start();        t.setDaemon(true);        t.interrupt();    }}class RanThread implements Runnable{    @Override    public void run() {        int count=0;        while(true) {            System.out.println("Ha Ha Ha "+ count);            count=count+1;        }    }}提前致谢。
查看完整描述

1 回答

?
GCT1015

TA贡献1827条经验 获得超4个赞

在启动线程之前,您必须将线程设置为守护进程。

如果您阅读 API 文档,它会指出“必须在线程启动之前调用此方法”。

所以交换 start 和 setDaemon 行,你应该很好。


查看完整回答
反对 回复 2023-01-05
  • 1 回答
  • 0 关注
  • 77 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信