Table of Contents

Java Concurrency - Reentrant Lock

About

A thread cannot acquire a lock owned by another thread but a thread can acquire a lock that it already owns. Allowing a thread to acquire the same lock more than once enables reentrant synchronization.

This describes a situation where:

Without reentrant synchronization, synchronized code would have to take many additional precautions to avoid having a thread cause itself to block.

ReentrantLock

See also: javase/9/docs/api/java/util/concurrent/locks/ReentrantLock.html This implementation is a reentrant mutual exclusion Lock with the same basic behavior and semantics as the implicit monitor lock accessed using synchronized methods and statements, but with extended capabilities.

Documentation / Reference