O概念刷新与同步

O概念刷新与同步

本文介绍了I / O概念刷新与同步的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经遇到了这两个术语,而我对他们的理解似乎是相互重叠的。 Flush与缓冲区一起使用,同步用于讨论文件到磁盘的持久变化。



在C中,fflush(stdin)确保清除缓冲区。如果这些概念没有普遍的定义,那么更喜欢linux,java的解释。



我找到了一个相关的帖子,但是ir并没有真正回答我的问题。

$ b在Java中,输出流和编写器使用 flush()方法来确保缓冲的数据被写出。但是,根据Javadocs:

On the other hand, FileDescriptor.sync() can be used to ensure that data buffered by the OS is written to the physical device (disk). This is the same as the sync call in Linux / POSIX.

If your Java application really needs to ensure that data is physically written to disk, you may need to flush and sync, e.g.:

FileOutputStream out = new FileOutputStream(filename);

[...]

out.flush();
out.getFD().sync();

References:

这篇关于I / O概念刷新与同步的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-20 02:20