Встречается на собеседованиях • сегодня

Какие знаешь методы для работы нескольких потоков с одним ресурсом

Для безопасной работы нескольких потоков с одним ресурсом в Java используются:

  1. Synchronized методы/блоки – обеспечивают эксклюзивный доступ.

    java
    public synchronized void increment() { counter++; }
  2. Lock (ReentrantLock) – более гибкая альтернатива synchronized.

    java
    Lock lock = new ReentrantLock();
    lock.lock();
    try { counter++; } finally { lock.unlock(); }
  1. Atomic-классы (AtomicInteger, AtomicReference и др.) – потокобезопасные операции без блокировок.

    java
    AtomicInteger counter = new AtomicInteger(0);
    counter.incrementAndGet();
  2. Volatile переменные – гарантирует видимость изменений между потоками (но не атомарность).

  3. ThreadLocal – каждый поток работает со своей копией переменной.

Выбор зависит от сценария: для простых операций – atomic/synchronized, для сложных – Lock.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы