我指的是以下链接:http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReentrantLock.html
有人可以向我解释读取锁的作用。是否只允许并发线程的读访问权来读取而不是写入?对于写锁定,它会阻止并发线程读取和写入,直到它被解锁?
我特别困惑于阅读锁定。当并发可能发生时,为什么以及何时应该实现读锁定。
答案 0 :(得分:1)
ReentrantLock
是Lock
界面的工具,它提供了比synchronized
关键字更灵活的方式,并添加了tryLock
功能。
ReentrantReadWriteLock
是ReadWriteLock
接口的工具,该类提供了Reader-Writer问题的解决方案。
对于写锁定,它是一个独占锁,它将阻止读写线程。
对于读锁定,它允许多个读取器线程同时访问,并在读取器计数大于零时阻止写入器线程。