Встречается на собеседованиях • сегодня
Как работает ReadWriteLock
ReadWriteLock в Java позволяет разделять доступ к ресурсу между читателями и писателями. Читатели могут работать параллельно, но писатель требует эксклюзивного доступа.
Основные методы:
readLock()– блокировка для чтения (может быть захвачена несколькими потоками)writeLock()– блокировка для записи (эксклюзивная)
Пример:
java
ReadWriteLock lock = new ReentrantReadWriteLock();
void readData() {
lock.readLock().lock();
try {
// чтение данных
} finally {
lock.readLock().unlock();
}
}
void writeData() {
lock.writeLock().lock();
try {
// запись данных
} finally {
lock.writeLock().unlock();
}
}Особенности:
- Приоритет у писателей (зависит от реализации, например,
ReentrantReadWriteLockможет быть fair/non-fair). - Реентерабельность: поток может повторно захватывать блокировку.
- Нельзя повышать read-lock до write-lock (вызовет deadlock).

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