0

在我的理解中,一个过程是,

“一个操作系统级别的概念,用于描述一组资源(例如外部代码库和主线程)以及正在运行的应用程序使用的必要内存分配。对于加载到内存中的每个 *.exe,操作系统会创建一个单独的和在其生命周期内使用的隔离过程。” -Andrew troelsen (pro c# 2010)

所以每次我们启动一个应用程序时,都会创建一个进程,它有自己的地址空间,不能被其他进程共享。

最近我通过 c# 在 clr 中读到了,

“事实上,CLR 确实提供了在单个操作系统进程中执行多个托管应用程序的能力。每个托管应用程序都在一个 AppDomain 中执行。”

这表示多个应用程序可以在单个操作系统进程中运行,操作系统进程与我们运行应用程序时启动的进程之间有区别吗???

有人可以解释一下吗?

4

1 回答 1

0

不同的是,主运行进程由操作系统管理。CLR/Framework 提供了一个完全不同的堆栈,称为“应用程序域”,它允许程序的单独运行实例在同一系统级进程下执行,但充当完全独立的进程。作为 C#/.NET 设计模型方面的专家,除了大型系统的可扩展性之外,我无法举一个例子来说明这可能有用的地方。

于 2012-08-08T15:42:55.560 回答