Concurrency basics · interview question
Given two methods with nested synchronized blocks on different objects, what scenario can lead to a deadlock?
Multiple choiceHardchapter-15-curatedpremiumconcurrencysynchronized-and-locks
Answer and explanation
Correct answer
C. Acquiring the locks in different order in each method.
Why
Deadlock can occur if two threads hold locks and each waits for the lock held by the other to be released. This is commonly caused by acquiring locks in different orders in each method.
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?