1

我有一个理论问题。

简短

如果对透明代理对象的最后引用是 WeakReference,是否会收集透明代理对象,但在宿主进程中仍引用真实对象。

示例

使用的示例没有意义,但真实场景太复杂而无法描述。

假设有一个使用 Wea​​kReferences 实现的缓存,如下所述: WeakReferenceExampleMSDN

现在缓存中充满了存在于另一个进程(远程处理)中的对象。这些对象在本地进程中只是透明的代理对象,它们的生命周期由其他进程控制。

如果没有魔法,我假设代理对象被收集,因为代理对象只是真实对象的句柄。第一次运行 GC 后,缓存为空。

  • 有什么魔力吗?这个理论上的缓存可以与远程对象一起使用吗?
4

1 回答 1

0

透明代理将被 GC 收集。因此,这样的缓存不适用于 RemoteObjects

于 2013-10-11T13:56:35.103 回答