Concurrency basics · interview question
Why do teams use ReentrantLock over synchronized blocks in a high-concurrency environment in production code?
Multiple choiceHardchapter-15-curatedpremiumconcurrencysynchronized-and-locks
Answer and explanation
Correct answer
D. More control over lock acquisition
Why
ReentrantLock offers more control over lock acquisition, such as tryLock() for non-blocking attempts and lockInterruptibly() for responsiveness to interrupts. These features are especially beneficial in high-concurrency scenarios where threads need more sophisticated lock management.
Test yourself on Concurrency basics
A free test with instant, explained results. No account needed.
More Concurrency basics questions
- How can you avoid deadlocks when using multiple ReentrantLocks in a method?
- What does the 'volatile' keyword guarantee in Java?
- Why might using 'volatile' alone be insufficient for ensuring thread safety when updating a shared counter?
- Consider the following code snippet. What issue might occur if 'flag' is not declared as 'volatile'?
- When using synchronized blocks, how can you ensure fairness among threads?
- How would you explain a common use case for 'volatile' variables in an interview?