繁体   English   中英

即使主线程退出,C#子线程仍在工作

[英]C# child thread is still working even main thread exit

我碰巧从msdn读取了如下的Semaphore类示例: https : //msdn.microsoft.com/zh-cn/library/system.threading.semaphore%28v=vs.110%29.aspx

这是一个控制台应用程序,但是让我感到困惑的是,子线程甚至可以在主线程出口上正常工作。 线程数

据我了解,当主线程/进程退出时,所有子线程都会终止,这就是为什么我们通常会在主线程停止之前发出信号并等待子线程完成。 我是错误的还是由于引用而在.net中更改了行为?

如果希望子线程在父线程终止时中止,则必须将其设置为后台线程。

t.IsBackground = true;
t.Start(i);

否则,所有前台线程将在进程退出之前运行完成

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM