我想要创建多个FileStreams
,并且需要保持它们打开 - 将不会有I/O操作。内存消耗是多少?如果我创建大量这样的流,这会影响系统性能吗?由空闲文件流消耗的内存
2
A
回答
0
简而言之:打开文件流并不是一个好主意,因为它是未受管理的资源。
在.NET框架体系结构中,如果在代码中没有正确管理,所有未管理的资源都会导致内存大量泄漏。
如果你在说 - “我不想让它超出范围,那么垃圾收集器最终会调用Dispose,杀死流,但我想保持流打开。”
垃圾收集器将调用Finalize
方法(析构函数),而不是Dispose
方法。终结器将调用Dispose(false)
这将而不是配置基础流。如果您需要直接使用基础流,您应该保持StreamReader
超出范围。只要确保在适当的时候手动处理基础流。
相关问题
- 1. 内存消耗java文件流
- 2. 计算进程消耗的最大空闲存储内存
- 3. macOS:由setNeedsDisplayInRect导致的内存消耗
- 4. 内存消耗
- 5. boost :: async_write大文件和内存消耗
- 6. Servlet文件上传内存消耗
- 7. 闲置Kubernetes集群上的高内存消耗
- 8. 负空闲内存
- 9. 空CALayer消耗多少内存?
- 10. HSQLDB内存消耗
- 11. QRegularExpressionMatch内存消耗
- 12. Direct2D内存消耗
- 13. QTreeView内存消耗
- 14. EntityManager内存消耗
- 15. Boost.Flyweight内存消耗
- 16. Luakit内存消耗
- 17. 占内存消耗
- 18. remove_if后的空闲内存
- 19. Java - FloatBuffers的空闲内存
- 20. 字节的空闲内存[]
- 21. BigDecimal(Java)的内存消耗
- 22. EF的内存消耗
- 23. Android的内存消耗
- 24. Cherrypy中的内存消耗
- 25. 的std :: istream_iterator,内存消耗
- 26. Magick.NET中的内存消耗
- 27. Tomcat的内存消耗
- 28. SQLite的内存消耗?
- 29. java的内存消耗Collection.sort()
- 30. PHP的TeeChart内存消耗
为什么你需要有ope文件流如果你没有对它们做任何事情? –
@Eugene只是问我需要处理多文件I/O有些可能不需要,但需要保持开放 – phoenix