2008-08-22 32 views
1

这主要面向桌面应用程序开发人员。
如何设计一个可以很好地与GC玩的缓存块?
如何告诉GC我刚刚完成了缓存扫描,是时候进行GC了?
如何准确衡量什么时候执行缓存清理?托管语言的高速缓存方案

有没有预建的缓存方案,我可以借鉴一些想法?

回答

1

虽然我显然不能说出你的应用程序的细节,但在大多数情况下,你不应该将你的缓存实现与GC的工作方式的一些预期期望联系起来。正如Stu所提到的,调用GC.Collect()会强制集合(对于特定代中的重载),但更多时候会导致性能下降,而不仅仅是让GC自行管理。

如果您发现(在进行一些真正的性能测试后)需要与GC进行交互,请确保您考虑到框架当前具有的不同类型的GC(有关更多信息,请参阅here)。