Блокировки чтения и записи потоков Java
Пакет java.util.concurrent.locks определяет два класса блокировок — ReentrantLock и ReentrantReadWriteLock. Последний удобен, когда есть много потоков, читающих структуру данных, и поменьше потоков — модифицирующих ее. В такой ситуации имеет смысл разрешить разделенный доступ читателям. Конечно, поток-писатель должен по-прежнему иметь исключительный…