用于多个进程读写的Java文件锁[重复]

问题描述 投票:-1回答:1
在我的应用程序中,多个进程正在尝试访问文件以进行读写。每个应用程序都有一个线程。我需要确保没有2个进程同时访问该文件。我在JDK中使用FileLock。当一个进程获取了锁,而另一个进程试图访问该文件(用于读取或写入)时却抛出异常,表明文件已被其他进程锁定,则此方法工作正常。

现在,我需要确保,对于第二个进程,而不是引发异常线程,应该等到第一个进程释放锁,并且一旦释放锁,继续其工作。

我该怎么做。因此,胖子我无法通过某种方式找到答案。

java file-locking multiple-processes readwritelock
1个回答
0
投票
您是否考虑过实施以下内容?

while (true) { try to acquire lock - { // if the lock is acquired break the loop } catch (Exception) { log... exception possibly wait for sometime } }


-1
投票

为什么不简单地添加一个try {catch块。

这样的东西-

 while(true){

 try{ 
 Thread.sleep(100);

 //Attempt acquiring lock  - If lock works, continue here

 }catch(Exception myException){
 Lock Doesn't Works - Handle
 }

 }
© www.soinside.com 2019 - 2024. All rights reserved.