2012-11-26 147 views
2

我正在編碼C#,我越來越熟悉garbage collector以及它如何工作。什麼是垃圾收集器?

我剛剛意識到我不知道garbage collector的確切位置,它的表示是什麼?

  1. 它是任何.Net應用程序可執行文件的一部分?那意味着10 .Net的申請將會導致10個不同的GC
  2. 它是名爲Runtime的應用程序的一部分嗎?這意味着前10個應用程序共享GC
  3. 在使用Asp.Net(當然是在代碼隱藏內)或使用GUI /服務應用程序時是否有特殊行爲?

感謝您的寶貴幫助!

回答

1

它是.net框架的一部分。 10.net應用程序將有10個GC實例,但它們都將運行相同的代碼(假設它們使用相同的框架版本運行)。

據我所知,它不知道它運行的應用程序的類型,所以它應該在asp.net中的行爲與它在GUI應用程序或服務中的行爲相同。

你可以閱讀更多關於垃圾收集在這裏:http://msdn.microsoft.com/en-us/library/0xy59wtx.aspx

+0

它可以工作,根據不同的應用和主機的類型。這可以配置。 – vtortola

+0

通過運行相同的代碼,你的意思是運行相同版本的GC應用程序?感謝您的回答! –

+0

@vtortola你能給我們更多的精確度嗎?你將如何改變這種配置?你的意思是xml節點如下所示:http://stackoverflow.com/questions/1707240/should-we-use-workstation-garbage-collection-or-server-garbage-collection? –