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的应该是你读和写的那个[资源]
------解决方案--------------------
------解决方案--------------------
怎么相当于没上锁呢
------解决方案--------------------