2010-06-04 88 views
9

有一個簡單的Hello World控制檯應用程序。我們編譯它並獲得一個程序集(EXE)。 EXE被複制到5個不同的文件夾並從每個位置運行。當5個複製實例同時運行時,多少個CLR實例正在運行?「CLR正在運行多少個實例?

+2

是什麼讓你問這個問題?嗅覺像功課 – 2010-06-04 04:36:00

+1

。 – 2010-06-04 04:55:13

+0

[計算機上運行的CLR和GC實例的數量?](http://stackoverflow.com/questions/943453/number-of-clr-and-gc-instances-running-on-a-machine) – Gishu 2010-06-04 04:59:07

回答

6

每個物理進程都會獲得自己的CLR副本,因爲每個物理進程都是分開託管的。因此,如果您創建了3個.NET應用程序實例,則會運行3個CLR副本。每個進程將至少有一個AppDomain。哪裏有些棘手的問題是與域中立的程序集。域中立的程序集,像一些系統程序集,實際上是通過AppDomain共享的。這減少了CLR的佔用空間。

查看原圖回覆於:http://social.msdn.microsoft.com/Forums/en-US/clr/thread/238c5f43-1d12-4c80-a987-0b8fdfd6d7e4

0

它運行5個不同的進程,每個進程都有自己的CLR實例。