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

Что такое мьютекс

Мьютекс (mutex, mutual exclusion) — это механизм синхронизации, который обеспечивает эксклюзивный доступ к общему ресурсу в многопоточной среде. Только один поток может владеть мьютексом в любой момент времени, предотвращая race condition.

В Java мьютекс реализуется через synchronized блоки или классы из java.util.concurrent, например ReentrantLock.

Пример с synchronized:

java
private final Object lock = new Object();

public void criticalSection() {
    synchronized (lock) {
        // Код, требующий эксклюзивного доступа
    }
}

Пример с ReentrantLock:

java
private final ReentrantLock lock = new ReentrantLock();

public void criticalSection() {
    lock.lock();
    try {
        // Критическая секция
    } finally {
        lock.unlock();
    }
}

Основные особенности:

  • Гарантирует атомарность операций в критической секции
  • Может быть реентерабельным (поток может захватывать его повторно)
  • Может приводить к deadlock, если не освобождается
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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