Dot-Net

.NET 垃圾收集和本機執行緒

  • December 8, 2009

相當有據可查的是,當 .NET 的自動垃圾收集器執行時,它將暫時暫停與應用程序域關聯的所有正在執行的託管執行緒。我無法發現的是當垃圾收集發生時應用程序創建的本機執行緒會發生什麼的詳細資訊(即使用_beginthreadex()而不是System.Threading.Thread())。他們是否同樣暫停或左派執行?

有幫助嗎?

“GC 不會停止未執行託管程式碼的執行緒。由於這些執行緒無論如何都無法觸及 GC 的堆,因此 GC 無需與它們協調。”

“如果一個執行緒在託管程式碼中但呼叫了本機程式碼,它將繼續執行。如果它返回到託管程式碼,它將被停止。”

引用自:https://stackoverflow.com/questions/1870381