Встречается на собеседованиях • сегодня
Как можно избежать проблем при работе нескольких потоков с одним ресурсом
Для безопасной работы нескольких потоков с общим ресурсом в Java используйте механизмы синхронизации:
- synchronized - блокирует доступ к ресурсу для других потоков:
java
public synchronized void increment() {
counter++;
}- Lock интерфейс (ReentrantLock) - более гибкая альтернатива synchronized:
java
Lock lock = new ReentrantLock();
public void increment() {
lock.lock();
try {
counter++;
} finally {
lock.unlock();
}
}- Atomic классы (AtomicInteger, AtomicLong и др.) - для атомарных операций:
java
AtomicInteger counter = new AtomicInteger(0);
counter.incrementAndGet();-
ThreadLocal - если нужны отдельные копии ресурса для каждого потока.
-
Иммутабельные объекты - создание неизменяемых объектов, которые безопасно разделять между потоками.
Выбор зависит от конкретного сценария. Atomic классы эффективны для простых операций, synchronized проще в использовании, а Lock предоставляет больше контроля.

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