我想要創建多個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