gpt4 book ai didi

c# - .Net 中 finalize 的成本

转载 作者:太空狗 更新时间:2023-10-29 22:17:46 26 4
gpt4 key购买 nike

(1) 我读过很多关于 IDisposable 的问题,其中的答案建议不要使用 Finalize,除非你真的需要,因为涉及到处理时间。
我没有看到的是这笔费用是多少以及支付的频率。每毫秒?第二?小时、天等

(2) 此外,在我看来,当并不总是知道某个对象是否可以被处置时,Finalize 很方便。例如,框架字体类。控件无法处理它,因为它不知道字体是否共享。字体通常是在设计时创建的,因此用户不知道如何处理它,因此当没有引用时,finalize 开始最终摆脱它。这是正确的印象吗?

最佳答案

finalize 的主要问题是它会阻止对象被垃圾回收。取而代之的是调用终结器,并“在下一次运行时”收集对象。好吧,从技术上讲,IIRC 终结器在单独的线程中运行对象列表。无论如何,这不是一个“每毫秒”的问题,更像是一个“需要运行多次 GC 才能删除对象”的问题。

关于c# - .Net 中 finalize 的成本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3045798/

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