如何在单个窗口进程中并排CLR处理GC和多个AppDomain?

时间:2016-02-03 21:34:29

标签: .net clr

我试图了解多个CLR何时被加载到单个窗口进程中。

  • 每个AppDomain是否都会映射到特定的CLR。那么从一个AppDomain到另一个AppDomain的线程如何理解不同的运行时?

  • 窗口流程会有一个GC吗?或者为加载到流程中的每个CLR单独使用GC?

帮助我理解。感谢。

1 个答案:

答案 0 :(得分:0)

加载到进程中的CLR彼此不了解。就每个运行时而言,其他运行时只是使用自己的非托管内存的本机代码。这意味着对象无法从运行时传递到另一个对象,而是必须经历与本机代码交互操作相同的固定/编组要求。

如果CLRv2中的方法在CLRv4中调用了一个方法,它们都会看到相同的本机线程,但它们有自己的“托管线程”视图。 CLRv2只会认为它调用的是本机方法,而CLRv4会认为它是从本机代码调用的。