Concurrency basics · interview question
In the context of Java's concurrency model, what role does 'volatile' play in the 'happens-before' relationship?
Multiple choiceMediumchapter-15-curatedpremiumconcurrencythe-volatile-keyword
Answer and explanation
Correct answer
D. It establishes a 'happens-before' relationship between write and subsequent reads
Why
Volatile writes establish a 'happens-before' relationship with subsequent reads of that variable. This means that changes made to a volatile variable are visible to other threads immediately after the write operation.
Test yourself on Concurrency basics
A free test with instant, explained results. No account needed.
More Concurrency basics questions
- 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?
- How can you ensure that a thread releases a lock if it was not able to acquire it using tryLock()?