我指的是以下链接:http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReentrantLock.html
有人可以向我解释读锁的作用。它是否仅允许对并发线程进行读取和不写入的读取访问权限?至于写锁定,它可以防止并发线程读写直到被解锁?
我对读锁特别困惑。当可能发生并发时,为什么以及何时应实施读锁。
最佳答案
ReentrantLock
是Lock
界面的实现,它提供了比synchronized
关键字更灵活的方式,并添加了tryLock
函数。ReentrantReadWriteLock
是ReadWriteLock
接口的实现,此类提供了解决Reader-Writer问题的方法。
对于写锁,它是一个排他锁,它将阻止读和写线程。
对于读取锁定,它允许多个读取器线程同时访问,并在读取器计数大于零时阻止写入器线程。
关于java - Java中的ReentrantLock类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20135519/