gpt4 book ai didi

c# - 空闲文件流消耗的内存

转载 作者:太空宇宙 更新时间:2023-11-03 16:20:57 25 4
gpt4 key购买 nike

我想创建多个 FileStreams 并且需要让它们保持打开状态 - 不会有 I/O 操作。内存消耗是多少?如果我创建大量此类流,这会影响系统性能吗?

最佳答案

简而言之:保持文件流打开不是一个好主意,因为它是非托管资源。

在 .NET Framework 架构中,如果未在代码中正确管理,所有非托管资源都会导致内存大泄漏。

如果你说 - “我不想让它超出范围。然后垃圾收集器最终会调用 Dispose,终止流。但我想保持流打开。”

垃圾收集器将调用Finalize 方法(析构函数),而不是Dispose 方法。终结器将调用 Dispose(false),这将释放底层流。如果您需要直接使用底层流,则让 StreamReader 超出范围应该没问题。只需确保在适当的时候手动处理底层流即可。

关于c# - 空闲文件流消耗的内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13902369/

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