1
1
Fork 0

Add info to synchronize answers (#160)

This commit is contained in:
eliseevdry 2024-04-24 08:43:26 +03:00 committed by GitHub
parent d4e407b0b3
commit d73ae9ea19
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 3 additions and 1 deletions

View File

@ -558,6 +558,8 @@ __Куча__ общий участок памяти, который дели
## Как поделиться данными между двумя потоками?
Данными между потоками возможно делиться, используя общий объект или параллельные структуры данных, например `BlockingQueue`.
Класс синхронизатор `Exchanger` предназначен для обмена данными между потоками. Он параметризуется типом данных, которыми потоки должны обмениваться.
Обмен данными производится с помощью единственного метода этого класса exchange(). Для работы нужно передать в конструкторы thread-ов экземпляр класса Exchanger и обращаться к нему в методе run(). Этот метод блокирует поток до того момента, пока другой поток не передаст в Exchanger свои данные.
[к оглавлению](#Многопоточность)
@ -621,7 +623,7 @@ finally {
[к оглавлению](#Многопоточность)
## Что такое `ReadWriteLock`?
`ReadWriteLock` это интерфейс расширяющий базовый интерфейс `Lock`. Используется для улучшения производительности в многопоточном процессе и оперирует парой связанных блокировок (одна - для операций чтения, другая - для записи). Блокировка чтения может удерживаться одновременно несколькими читающими потоками, до тех пор, пока не появится записывающий. Блокировка записи является эксклюзивеной.
`ReadWriteLock` это интерфейс расширяющий базовый интерфейс `Lock`. Используется для улучшения производительности в многопоточном процессе и оперирует парой связанных блокировок (одна - для операций чтения, другая - для записи). Блокировка чтения может удерживаться одновременно несколькими читающими потоками, до тех пор, пока не появится записывающий. Блокировка записи является эксклюзивной.
Существует реализующий интерфейс `ReadWriteLock` класс `ReentrantReadWriteLock`, который поддерживает до 65535 блокировок записи и до стольки же блокировок чтения.