日期:2014-05-20  浏览次数:20672 次

java读写锁问题(ReentrantReadWriteLock)
为什么用ReentrantReadWriteLock不能锁住呢?
我是这样的用的,如下:


Java code


public class JsonUtil {
    private static final ReentrantReadWriteLock rwl = new ReentrantReadWriteLock();
    private static final Lock rLock = rwl.readLock();
    private static final Lock wLock = rwl.writeLock();
        
       public static void read(){
              try{
                   rLock.lock();
                   读的一些操作。。。。。

               } finally {
           rLock.unlock();
           }
       }

       public static void write(){
              try{
                   wLock.lock();
                   写的一些操作。。。。。

               } finally {
           wLock.unlock();
           }
       }



不知道有什么问题,主要是进行多线程的时候 不能锁住 ,请高手指点。

------解决方案--------------------
没用过
参考下http://www.diybl.com/course/3_program/java/javashl/20071129/89472.html
------解决方案--------------------
你用2个lock分别锁住read和write方法 其实就等于没有上锁
真正应该去lock的应该是你读和写的那个[资源]
------解决方案--------------------
探讨
你用2个lock分别锁住read和write方法 其实就等于没有上锁
真正应该去lock的应该是你读和写的那个[资源]

------解决方案--------------------
怎么相当于没上锁呢
------解决方案--------------------
探讨
你用2个lock分别锁住read和write方法 其实就等于没有上锁
真正应该去lock的应该是你读和写的那个[资源]