Класс CountDownLatch, примеры реализации кода в Java

Класс CountDownLatch, примеры реализации кода в JavaИногда требуется, чтобы поток исполнения находился в режиме ожидания до тех пор, пока не наступит одно (или больше) событие.

Для этих целей в парал­лельном API предоставляется класс CountDownLatch, реализующий самоблокировку с обратным отсчетом. Объект этого класса изначально создается с количеством событий, которые должны произойти до того момента, как будет снята самоблокировка. Всякий раз, когда происходит событие, значение счетчика уменьшается.

Как только значение счетчика достигнет нуля, самоблокировка будет снята. Читать

Блокировки чтения и записи потоков Java

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