当第一个应用程序不修改它时,我们如何实现第二个应用程序读取该文件

时间:2009-11-05 20:47:32

标签: file locking

我有两个申请 第一个应用程序是bash 第二个是java

其中一个是定期删除并重新创建特定文件(第一个)

另一个也定期读取此文件并按照自己的逻辑处理(第二个)

当第一个应用程序没有修改它时,我们如何实现第二个应用程序读取该文件

我的目的是强制第二个应用程序只在文件内容完全写入其中时读取文件

如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

您的第二个应用可以尝试使用读写权限打开该文件。因为这应该(在大多数操作系统中,我认为)阻止另一个应用程序打开文件进行写入,第二个应用程序可以确保第一个应用程序已完成其写入并关闭文件。

当然,您还必须处理第一个应用程序开始删除并再次重新创建文件的情况,然后第二个应用程序才能获得锁定;所以第一个应用程序应该同步一个由第二个应用程序创建和锁定的不同文件,或者你必须“希望”时间保持一致并且足够分开以至于不会发生。拥有管理两个应用程序同步的第三个监督应用程序可能会更好吗?