Question

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?

Was it helpful?

Solution

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.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top