.NET CLR 如何处理同时运行的同一程序的多个实例?
我假设每个实例都是独立的并且占据它自己独特的内存空间并且一个实例不能影响另一个实例。
是否有一个很好的在线资源(简要!)解释了 CLR 如何处理这个问题及其影响?
.NET CLR 如何处理同时运行的同一程序的多个实例?
我假设每个实例都是独立的并且占据它自己独特的内存空间并且一个实例不能影响另一个实例。
是否有一个很好的在线资源(简要!)解释了 CLR 如何处理这个问题及其影响?
同一个应用的多个实例与不同应用的多个实例没有什么不同,只是它们碰巧从同一个文件中加载了它们的代码。
编辑:阅读您自己的评论,您正在寻找的内容称为“应用程序隔离”。这是通过“应用程序域”概念完成的。转到 MSDN 链接了解更多信息。
取决于进程主机(“exe”本身,IIS,WAS,...)
但是您必须寻找的是“应用程序域”。这是所有这些进程主机的共同模式。
流程仍然是流程。.Net 只是一个在操作系统上运行的执行上下文。托管代码 (IL) 在执行前进行 JIT 编译,本质上由 CLR 管理。最终它仍然是真实流程中的真实代码。