美文网首页
写的操作通常需要flush,有没有想过?

写的操作通常需要flush,有没有想过?

作者: plugins | 来源:发表于2018-08-18 15:04 被阅读16次

    无意间想起的一个问题

    比如往socket里write的时候,比如往一个文件里写数据的时候,比如hession序列化的时候等等,不知道大家有没有想过这个问题。

    以下是我的理解:程序在往文件里写数据,首先要把文件转化成一个流,数据从一块内存空间进入cpu进行处理,然后再由CPU写入流,此时的写操作还在内存中,经过flush之后数据才会从流进入文件。突然想到个问题,流和文件有可能描述的是一个东西,只是一个在硬盘中,一个在内存中,鉴于CPU不能之间与硬盘进行数据直接读写(这样会很慢),所以需要有这么一个流。

    读者可能会想到为什么读不需要flush,显然读出来的数据是要在内存中处理的,比如做数据校验,求和,甚至打印的操作。

    哈哈哈,不知道我的理解有没有问题🤨

    相关文章

      网友评论

          本文标题:写的操作通常需要flush,有没有想过?

          本文链接:https://www.haomeiwen.com/subject/mpsfiftx.html