进程同步的问题.
maoaq 2019-01-22 07:27:17 现在有两个进程,同时监控一个目录。每个进程做的事情一样,具体处理如下:
1 扫描文件夹,将扫描到的文件名放到一个list中。
2 遍历list,将文件copy到另外一个目录,每拷完一个就删除掉原来的。
现在要求每个文件只能拷贝一次,也就是只能被一个进程执行。
所以用了filelock来实现这个功能。
for(。。。。){
lock = filelock.trylock();
if(lock == null){
continue;
}
}
但是测试时发现,有的文件居然被执行了两遍,请问这是什么原因?猜测是由于要删除文件导致的。如果是这个原因,要怎样处理才好?
谢谢!