java-io流缓冲区的小疑问
当我们从流中往外设写东西时,利用缓冲区可以提高速度。原理是用流直接往缓冲区中写数据,等到缓冲区满了,再一次性往外设中写。这里的一次性指的还是一个字节一个字节往外设写吧?那...
当我们从流中往外设写东西时,利用缓冲区可以提高速度。原理是用流直接往缓冲区中写数据,等到缓冲区满了,再一次性往外设中写。这里的一次性指的还是一个字节一个字节往外设写吧?
那如果我从外设往流中读数据时,利用缓冲区的话,好像不会有什么提高速度的作用吧?(程序还是得花时间等外设往缓冲区中写数据)
所以我认为利用缓冲区往外设写东西可以程序运行速度,但是如果利用缓冲从外设读入流中,不会使程序提高速度吧?(感觉外设-->缓冲等效于 外设-->流)
请大虾们指点!!!
大虾,我还步太明白:
不用缓冲区,CPU直接将文件写入外设,是按字节写入
而用缓冲区,当缓冲区满了时,也是靠CPU将文件写入外设,
既然都是通过cpu,只不过用缓冲区写入外设要稍晚点才会用到CPU,但总是得还是要用CPU将文件一个字节一个字节写入,这样的话有没有缓冲区不是一样?? 展开
那如果我从外设往流中读数据时,利用缓冲区的话,好像不会有什么提高速度的作用吧?(程序还是得花时间等外设往缓冲区中写数据)
所以我认为利用缓冲区往外设写东西可以程序运行速度,但是如果利用缓冲从外设读入流中,不会使程序提高速度吧?(感觉外设-->缓冲等效于 外设-->流)
请大虾们指点!!!
大虾,我还步太明白:
不用缓冲区,CPU直接将文件写入外设,是按字节写入
而用缓冲区,当缓冲区满了时,也是靠CPU将文件写入外设,
既然都是通过cpu,只不过用缓冲区写入外设要稍晚点才会用到CPU,但总是得还是要用CPU将文件一个字节一个字节写入,这样的话有没有缓冲区不是一样?? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询