An exceptional condition can circumvent the release of a lock, leading to deadlock. According to the Java API [API 2006]
A
ReentrantLock
is owned by the thread last successfully locking, but not yet unlocking it. A thread invokinglock
will return, successfully acquiring the lock, when the lock is not owned by another thread.
...
Bibliography
[API 2006] | Class |
...