码迷,mamicode.com
首页 > 其他好文 > 详细

缓存的写法 利用读写锁

时间:2014-09-05 09:49:51      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:ar   sp   c   new   ad   bs   as   r   return   

public class CacheDemo {

 

         private Map<String, Object> cache = new HashMap<String, Object>();

         public static void main(String[] args) {

                   // TODO Auto-generated method stub

 

         }

 

         private ReadWriteLock rwl = new ReentrantReadWriteLock();

         public  Object getData(String key){

                   rwl.readLock().lock();

                   Object value = null;

                   try{

                            value = cache.get(key);

                            if(value == null){

                                     rwl.readLock().unlock();

                                     rwl.writeLock().lock();

                                     try{

                                               if(value==null){

                                                        value = "aaaa";//实际是去queryDB();

                                               }

                                     }finally{

                                               rwl.writeLock().unlock();

                                     }

                                     rwl.readLock().lock();

                            }

                   }finally{

                            rwl.readLock().unlock();

                   }

                   return value;

         }

}

 

缓存的写法 利用读写锁

标签:ar   sp   c   new   ad   bs   as   r   return   

原文地址:http://www.cnblogs.com/mxyhws/p/3957221.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!