我有一个存储大量对象的缓冲池。为了防止不同的线程写入同一个对象,同时为了提高效率,我使用ReadWriteLock
. 但我不太确定它是如何工作的。找到我要访问的对象后,
if(perm.equals(Permissions.READ_ONLY)) {
readLock.lock();
} else if(Permissions.READ_WRITE) {
writeLock.lock();
}
return the object I want to access
系统如何知道程序试图访问和锁定哪个对象?或者我这里的语法是错误的?帮助!!!谢谢