黑马程序员——Java基础---线程的另一个总结(6)--线程读写锁,缓存小例子

来源:互联网 发布:淘宝上什么零食好吃 编辑:程序博客网 时间:2024/06/05 04:28

 读写锁是,加了读锁,读数据可以随意读取,加了写锁的话,在写锁未释放之前,其他线程不可以进行操作


下例子:

缓存技术的示例

 当chtch中的value中没有值,就往里边添加数据,如果有责不添加
 在读写过程中,如果是读数据,可以随意读取,如果写数据的话只允许第一个写
 利用读写所处理再好不过了

public class CatchDemoTest {private ReadWriteLock rwl = new ReentrantReadWriteLock();Map<String,Object> chatch = new HashMap<String, Object>();public Object getValue(String key){Object value = null;rwl.readLock().lock();try{value = chatch.get(key);if(value==null){rwl.readLock().unlock();rwl.writeLock().lock();try{if(value==null){value = "aa";}}finally{rwl.writeLock().unlock();}}}finally{rwl.readLock().unlock();}return value;}}


0 0
原创粉丝点击