大神,我现在要读写XML文件,需要加锁,因为会有多线程同时读写,该如何加锁?
------解决思路----------------------
这个应该在线程上做控制,xml文件加锁后其他线程访问会报错的,写一个读写xml文件的类,用synchronized做线程同步,其他线程修改xml都通过调用这个类,就会排队,等前面线程处理完成后,参会进入处理!
------解决思路----------------------
File file = new File("");
FileInputStream fin = new FileInputStream(file);
//FileLock lock = fin.getChannel().lock(); //如果必须要读到则使用这个, 这个会被阻塞.
FileLock lock = fin.getChannel().tryLock();//
if(lock == null){
System.out.println("File is using by annother thread.");
}else{
try{
//TODO file read or write.
}finally{
lock.release();
}
}