【发布时间】:2013-12-19 11:32:16
【问题描述】:
【问题讨论】:
【问题讨论】:
简单的答案是:CLR 在主机(进程)终止时终止。
此外,还有一个默认的 AppDomain(不可访问)。即使您的 AppDomain 已卸载,此 AppDomain 仍将继续存在。这就是我认为 Tigran 所指的系统。
【讨论】:
有一篇很好的代码项目文章详细介绍了包括 CLR 终止在内的生命周期。
http://www.codeproject.com/Articles/16164/Managed-Application-Shutdown
该文章的灵感来自:http://blogs.msdn.com/b/cbrumme/archive/2003/08/20/51504.aspx
【讨论】:
最可能的文档是指与您的进程关联的 CLR“线程”将被终止的事实,正如文档正确地说的那样,该字符串:
公共语言运行时通过维护一个 表,称为实习生池,其中包含对 以编程方式声明或创建的每个唯一文字字符串 你的程序。因此,文本字符串的实例具有 特定值在系统中只存在一次。
而不是在您的应用程序中。事实上,进一步阅读它说:
CLR 对实习字符串对象的引用可以在您的 应用程序,甚至您的应用程序域,终止...
因此,基本上放置这些数据的存储空间超出了您的进程地址空间,因此在您的进程终止后仍保留在 system 事件中。
【讨论】:
system 是什么(?)?它是所有正在运行的 .NET 应用程序都存在并在每个 .NET 应用程序关闭时退出的公共池吗?您在哪里看到的这些信息?