Tag: 对象 生命周期

C#Thread对象的生命周期

假设我有如下代码: int Main() { if (true) { new Thread(()=> { doSomeLengthyOperation(); }).Start(); } while (true) { //do nothing } } 有两个线程,我将调用Main线程执行Main()函数的线程,并在“if”测试中将线程作为线程A新建。 我的问题是,线程A什么时候被销毁? do doSomeLenghtyOperation()能够完成吗? 由于没有指向线程A的引用,它是否会被标记为垃圾收集的候选者: 紧接着“new Thread()。Start()”语句本身结束了吗? 退出“if(true)”范围后立即? doSomeLengthOperation()运行完成后? 决不? 我看到的所有示例都是Main()持有引用,然后主线程在退出之前等待与线程A连接。 我很好奇上面代码的生命周期是什么。 提前致谢!