我有两个Java进程,需要确保它们不会同时访问目录/dir
。我不确定如何正确实现此行为。
我的想法是定义某个文件lock.txt
并执行类似
if not (lock.txt exists)
{
create lock.txt with content "process 1"
do something in /dir
delete lock.txt
}
但是如果两个进程同时检查这个,我想我可能遇到某种竞争条件。
编辑:我的Java进程是单独的程序。
答案 0 :(得分:-1)
在这里查看FileLock类:http://docs.oracle.com/javase/6/docs/api/java/nio/channels/FileLock.html
你可以通过谷歌搜索找到这个