刷新属性在简单文件通道中的工作原理

How flush property works in SimpleFileChannel

本文关键字:工作 通道 属性 简单 文件 刷新      更新时间:2023-10-16

根据文档:

flush 属性指定是否刷新每条日志消息立即到日志文件(这可能会损害应用程序性能,但确保在系统崩溃的情况下一切都在日志中),有效值为:

true:每个 essage 都会立即刷新到日志文件(默认)。

false:消息不会立即刷新到日志文件。

我对false价值感到困惑,因为不是立即是非常令人困惑的,因为不是立即可能意味着永远不会有时那样好。

谁能确认一下,如果这意味着永远不会某个时候(如果是后者,你能澄清一下什么时候吗?

当刷新属性为 false 时,刷新将留给默认的基础平台行为。

有关刷新为假时操作系统的确切行为的详细信息,请参阅 Windows 上的 CreateFile 和 FlushFileBuffers(当刷新属性为 false 时从未由 Poco 显式调用)的文档,以及其他操作系统上的 std::ostream(当刷新属性为 false 时,Poco 从不显式刷新)的文档。