【问题标题】:How to create interprocess file access mutex in java? [duplicate]如何在java中创建进程间文件访问互斥锁? [复制]
【发布时间】:2013-03-03 08:26:22
【问题描述】:

我有两个进程读取/写入相同的文件。所以我想在它们之间创建一个锁。我的想法是在该文件夹中创建一个名为 file.lock 的文件,其中包含进程标识信息。拥有锁的进程创建文件并通过删除它来释放锁。
我的问题是:

  1. 是否有可能在进程 A 正在创建文件时,在最终创建文件之前,进程 B 检查文件并发现它不存在,因此互斥锁失败了?

  2. 这种场景下wait()方法如何实现?

【问题讨论】:

  • 我觉得分布式锁最好使用rdbms而不是file。
  • 使用数据库并不总是最好的选择,特别是对于简单的问题。
  • @GregS 在某些情况下,我会说添加其他信息作为编辑是可以的。我想这将取决于变化的程度。最后的新段落是一回事。完全重写显然不好。

标签: java multithreading file-io mutex


【解决方案1】:

我的建议是研究FileLock API。

【讨论】:

    猜你喜欢
    • 2019-11-04
    • 1970-01-01
    • 1970-01-01
    • 2017-11-28
    • 1970-01-01
    • 2010-11-05
    • 2021-10-10
    • 1970-01-01
    • 2013-08-09
    相关资源
    最近更新 更多