1

假设我在 .NET/CLR 进程中有两个 AppDomain。

由于未处理的异常,其中一个 AppDomain 崩溃。

其他 AppDomain 是否仍能正常运行?如果默认 AppDomain 崩溃了怎么办?

我只是想知道是什么让流程保持活力。由于 AppDomain 是完全独立的实体,我假设默认 AppDomain 可能会崩溃,而其他 AppDomain 可能会继续?

甚至我的 C# 书也没有明确提到会发生什么……

4

2 回答 2

1

我假设如果您从主线程创建的任何域崩溃,您会没事的。然而,如果你的“入口域”崩溃了,其他的也会死掉。

于 2014-07-15T13:16:03.700 回答
1

正如您所提到的,AppDomains 是独立完成的。每个域都有自己的资源,所以当它崩溃时,其他的都是独立的。看到这个。如果您的默认域崩溃,那么从它创建的所有域也会失败,我想。

于 2014-07-15T13:18:03.480 回答