C#程序何时结束执行?

4

当进程中的所有线程都没有更多指令可执行时,它是不是就结束了?

1个回答

4
  1. 当某个东西调用ExitProcess或任何道德等同的函数1时,或者

  2. 现在区分后台线程和前台线程2,当最后一个前台线程停止执行时。

线程会在从其初始入口点方法返回时停止执行,或者在其上调用ExitThread(或道德等效物)时停止执行。


1例如,Environment.ExitEnvironment.FailFast是两个常见的接近等效的托管版本。

2前台线程和后台线程是托管代码的概念。通过Windows API直接启动的任何非托管线程都相当于前台线程。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接