是否有单个GC堆进程以这样的方式进行分区,即每个应用程序域都可以访问特定分区?或者每个应用程序域都有单独的GC堆?我确定其他堆如HF堆,LF堆,存根堆,处理表等等......所有这些堆都是为每个应用域分别分配的? GC堆也会单独分配吗?
这可能是正确的,因为除非对象可序列化或实现为MarshalByRef,否则无法在AppDomains之间传递对象。我在想是否有与每个对象关联的AppDomainID和Object Header(Sync Block)存储有关AppDomainID的信息?
答案 0 :(得分:1)
您有一个进程堆,并且应用程序域共享此堆。
应用程序域保持轻量级进程,作为进程中的隔离单元。