ReentrantReadWriteLock
//大量线程读取文件数据,少量线程修改数据;
ReentrantReadWriteLock lock = new ReentrantReadWriteLock();
Lock write= lock.writeLock();
Lock read = lock.readLock();
private void read(){
read.lock();
try{
}catch(){
}finally {
read.unlock();
}
}
private void write(){
write.lock();
try{
}catch(){
}finally {
write.unlock();
}