1:创建一个ReentrantReadWriteLock对象
 private ReentrantReadWriteLock rwl = new ReentrantReadWriteLock();  
2:抽取读锁和写锁
private Lock readLock = rwl.readLock();//得到一个可被多个读操作共用的读锁,但它会排斥所有写操作  
private Lock writeLock = rwl.writeLock();//得到一个写锁,它会排斥所有其他的读操作和写操作  
3:对所有访问者加读锁
public double getTotalBalance(){  
    readLock.lock();  
    try{...};  
    finally{readLock.unlock();}  
} 
4:对所有修改者加写锁
public void transfer(){  
    writeLock.lock();  
    try{...};  
    finally{writeLock.unlock();}  
} 

 

posted on 2017-04-24 13:55  网络终结者  阅读(104)  评论(0编辑  收藏  举报