224. StampedLock
In a nutshell, StampedLock performs better than ReentrantReadWriteLock and supports optimistic reads. It is not like reentrant; therefore, it is prone to deadlocks. Mainly, a lock acquisition returns a stamp (a long value) that it is used in the finally block for unlocking. Each attempt to acquire a lock results in a new stamp, and, if no lock is available, then it may block until available. In other words, if the current thread is holding the lock, and attempts to acquire the lock again, it may cause a deadlock.
The StampedLock read/write orchestration process is achieved via several methods as follows:
-
readLock(): Non-exclusively acquires the lock, blocking if necessary, until available. For a non-blocking attempt of ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access