多线程处理一批文件,线程在获取filelock后处理文件,处理完成后删除文件或者改名进行标识,问题是:在文件锁定的情况下无法删除或者修改文件名,如果先释放在删除如何保证在某一个线程释放后和删除之前不被其他线程锁定?求助!!!
楼主,获取filelock的不是线程,是filechannel。文件在filechannel打开,是不能在其他地方删除的。同时,filechannel没有提供删除文件的操作。
楼主遇到的问题,实际上跟filelock没有什么关系,而是一个线程同步的问题。而文件就是同步资源,给资源加个同步锁就行了。可百度一下线程同步的几种方式。
最近也遇到类似的问题了,过来看下。