后台和GC中的无尽线程

本文关键字:无尽 线程 GC 后台 | 更新日期: 2023-09-27 18:25:24

我想知道GC收集对象后,后台运行的线程会发生什么?他们是自杀还是变成僵尸?

 private Thread currentDateTimer;
 private DateTime ActualDateTime;
 if (this.currentDateTimer == null)
        {
            this.currentDateTimer = new Thread(() =>
            {
                while (true)
                {
                    this.ActualDateTime = DateTime.Now;
                    Thread.Sleep(60 * 1000 - (DateTime.Now.Second * 1000 + DateTime.Now.Millisecond));
                }
            }) { IsBackground = true };
            this.currentDateTimer.Start();
        }

线程不知道什么时候停止。

一旦对象实例被收集,这个线程会被杀死吗?GC会收集这个对象,因为线程需要它。实际日期时间?

我希望有人也有同样的问题。

后台和GC中的无尽线程

由于线程委托已捕获this,因此不会收集对象。

由于您已使用IsBackground = true启动它,因此当应用程序关闭时,它将自行终止。