Ctrl K
Java · Junior · Theory

What is a race condition, and what tools does Java give you to protect against it?

~4 min by voice

How to approach it

The interviewer wants to see whether you understand where multithreading problems come from: non-atomic operations and invisible changes. It also matters whether you can tell the protection tools apart: synchronized gives mutual exclusion and visibility, volatile gives only visibility, and the Atomic classes give atomic operations without locks.

Have you seen this question in a real interview?
Answers0
Avg. score—
Strong—
Practiced0
Topics
Similar questionsНесколько потоков одновременно делают counter++ над общей переменной, и в итоге значение получается меньше ожидаемого. Объясните, что именно происходит на уровне процессора и памяти, и какими способами это можно исправить — чем они отличаются внутри. Mid-levelOne thread sets a stop flag, and a worker thread checks that flag in a loop, but sometimes the worker never stops. Why does that happen and how do you fix it? Mid-levelWhat are the ways to create a thread in Java, and what's the difference between calling start() and run()? JuniorWhy do we need thread pools, and how do you work with ExecutorService? JuniorWhat is the Java Memory Model, and what is the happens-before relationship? Tell me what guarantees volatile gives and where it isn't enough. Senior

Answer by voice

The interviewer will ask this question and listen. Think out loud and ask for a hint if you need one. When you're done, pause or tap “That's my answer”. In about a minute, your score and the points you covered show up here.

Sign in to answer

Best with headphones · ~4 min