Встречается на собеседованиях • сегодня
Как решить Race Condition
Race Condition возникает, когда несколько потоков одновременно обращаются к общим данным, и результат зависит от порядка выполнения. Решения:
- Синхронизация - используй
synchronizedблоки или методы:
java
public synchronized void increment() {
counter++;
}- Атомарные операции - классы из
java.util.concurrent.atomic:
java
AtomicInteger counter = new AtomicInteger(0);
counter.incrementAndGet();- Lock-и - например,
ReentrantLock:
java
Lock lock = new ReentrantLock();
lock.lock();
try {
// критическая секция
} finally {
lock.unlock();
}-
Потокобезопасные коллекции -
ConcurrentHashMap,CopyOnWriteArrayListи др. -
Иммутабельность - создавай неизменяемые объекты.
Выбор зависит от контекста: атомарные операции для простых случаев, synchronized для сложной логики, Lock-и для гибкости.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы