I am implementing a database which can read and write data. For concurrency issue, I need to implement lock. Normally, ReentrantReadWriteLock will let write execute before read. How Can I go reversely? Is there a way that I can read before write thread executes?

有帮助吗?

解决方案

Re-read the javadoc of ReentrantReadWriteLock. It doesn't impose any order between reads and writes. All it does is allowing concurrent reads, but disallowing concurrent writes and writes concurrent with reads.

This class has the following properties:

Acquisition order

  • This class does not impose a reader or writer preference ordering for lock access. However, it does support an optional fairness policy.
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top