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

Как обеспечить блокировку

В Java блокировки можно обеспечить несколькими способами:

  1. synchronized - базовый механизм:
java
public synchronized void method() {
    // критическая секция
}
  1. Явные блокировки (более гибкий вариант):
java
private final Lock lock = new ReentrantLock();

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

text

3. **ReadWriteLock** - для разделения доступа на чтение/запись:
```java
private final ReadWriteLock rwLock = new ReentrantReadWriteLock();

public void read() {
    rwLock.readLock().lock();
    try {
        // чтение данных
    } finally {
        rwLock.readLock().unlock();
    }
}

Ключевые моменты:

  • Всегда освобождайте блокировки в finally
  • Избегайте deadlock (порядок получения блокировок)
  • Для сложных сценариев используйте java.util.concurrent.*
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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