后台和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会收集这个对象,因为线程需要它。实际日期时间?
我希望有人也有同样的问题。
由于线程委托已捕获this
,因此不会收集对象。
由于您已使用IsBackground = true
启动它,因此当应用程序关闭时,它将自行终止。