首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么时候使用.NET BufferedStream类?

什么时候使用.NET BufferedStream类?
EN

Stack Overflow用户
提问于 2009-01-29 16:12:51
回答 6查看 42.1K关注 0票数 61

MSDN站点指出:

缓冲区是内存中用于缓存数据的字节块,从而减少了对操作系统的调用次数。缓冲区提高了读写性能。缓冲器可以用于读写,但绝不能同时使用。BufferedStream的读写方法自动维护缓冲区。

我应该在每一次可能的场合上使用这个课程吗?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-01-29 16:22:18

以下是我正在选修的一门在线课程的课文:

BufferedStream类是一个具体的类,它扩展了stream类,并用于向另一种类型的流提供额外的内存缓冲区,包括同步和异步。在创建类的实例时,必须将BufferedStream类配置为读或写,但不能将BufferedStream配置为同时执行两个任务。 微软通过包含一个内置缓冲区,改善了.NET框架中所有流的性能。通过将BufferedStream应用于现有流(如FileStream或MemoryStream ),性能明显提高。将BufferedStream应用于现有的.NET框架流会产生双缓冲区。 BufferedStream类最常见的应用程序是在不包含内置缓冲区的自定义流类中。

票数 21
EN

Stack Overflow用户

发布于 2010-01-15 03:32:12

根据布拉德·艾布拉姆斯的说法,几乎从来没有过:链接

不,将BufferedStream封装在FileStream上没有任何好处。我们在4年前将BufferedStream的缓冲逻辑复制到FileStream中,以鼓励更好的默认性能。事实上,我不认为.NET框架中有任何流需要它,但是如果它们在默认情况下不进行缓冲,那么定制的Stream实现可能需要它。

票数 74
EN

Stack Overflow用户

发布于 2011-09-05 07:11:17

我所知道的最好的情况是当BinaryFormatter从NetworkStream直接序列化/反序列化时。使用BufferedStream在性能提高十倍之间。

票数 21
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/492283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档