【问题标题】:Does FileDescriptor.sync() work for all file data or just file data originating within the callers JVMFileDescriptor.sync() 是否适用于所有文件数据或仅适用于调用者 JVM 中的文件数据
【发布时间】:2023-03-30 09:02:01
【问题描述】:

这会确保所有数据都在本地机器上同步,还是只在当前运行的 JVM 中同步数据?

FileOutputStream s = new FileOutputStream(filename)
s.getFD().sync()

FileInputStream fis = new FileInputStream(null);
fis.getFD().sync();

上下文:我们有许多程序(其他软件)写入我们共享的文件。我们都在使用时将其锁定,然后再将其解锁,...但我们发现操作系统并未完全同步到文件存储(网络驱动器),即使每个人都已完成文件处理。

即使在获得锁之后,操作系统似乎也没有与文件同步,并且最后的一些数据还没有被写入。

【问题讨论】:

    标签: java caching sync flush file-descriptor


    【解决方案1】:

    FileDescriptor.sync() 是否适用于所有文件数据

    没有。

    或者只是来自调用者 JVM 的文件数据

    它只适用于当前文件描述符,它必须在调用者的 JVM 中,以及他正在写入的数据。

    【讨论】:

      猜你喜欢
      • 2023-02-10
      • 2021-12-12
      • 1970-01-01
      • 2013-07-08
      • 1970-01-01
      • 1970-01-01
      • 2021-10-13
      • 2015-10-12
      • 2015-10-09
      相关资源
      最近更新 更多