ReadWriteLock разделяет блокировку на read и write. Несколько потоков могут читать одновременно (shared lock), но write — эксклюзивный, блокирует и чтение, и запись. ReentrantReadWriteLock — реализация. readLock().lock() для чтения, writeLock().lock() для записи. Идеально для кеша: много чтений, редкие записи. Потенциальная проблема: writer starvation — если читатели постоянно приходят, writer может никогда не получить лок. Fairness-режим решает это. С Java 8 есть StampedLock — ещё быстрее.
Что такое ReadWriteLock?
Senior
265 просмотровAFK Offer AI
Как оптимизировать startup-time Spring Boot?