Concurrency basics · interview question
How does the 'volatile' keyword affect the visibility of a variable across different CPU caches?
Multiple choiceMediumchapter-15-curatedpremiumconcurrencythe-volatile-keyword
Answer and explanation
Correct answer
C. It ensures the variable is always read from main memory
Why
Volatile ensures that a variable is always read from and written to main memory, bypassing CPU caches. This guarantees visibility of variable changes across threads operating on different cores.
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?