gpt4 book ai didi

c# - 何时在 C# 中使用 Wea​​kReference(如果不是为了缓存)?

转载 作者:行者123 更新时间:2023-11-30 13:39:13 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Weak references

这是干什么用的?

这似乎是一种创建 GC 可以及早收集的对象的方法,如果它被提早收集,我应该重新创建它。这听起来像是缓存,但其他 StackOverflow questions say that this is a lousy cache strategy because the GC in practice will GC your object very eager and fast , ( another Q that says weakreference make poor caches ) 有点像使用 ASP.NET 的缓存并将其设置为非常低的缓存逐出时间限制。

背景:我最近正在阅读 TraceSource 的 CLR 代码。在构造函数中,发生的第一件事是将 WeakReference(this) 添加到静态字典中。奇怪的是,当 TraceSource 重新读取弱引用字典中每个 TraceSource 的配置文件时,它只在 Refresh 方法中使用过,但前提是它还没有被 GC。还有一个StackOverflow question indicates this causes memory leaks .

所以从那以后我就一直在阅读有关 WeakReferences 的内容,并且越来越困惑。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com