Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Thread-independent ReadWriteLock / 4 сообщений из 4, страница 1 из 1
23.09.2014, 10:29
    #38754288
publexus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Thread-independent ReadWriteLock
Есть ли такая реализация блокировок:
- acquire - захват неэксклюзивной блокировки, счетчик увеличивается на единицу, ожидает если имеется эксклюзивная блокировка.
- release - освобождение блокировки, счетчик уменьшается на единицу.
- exclusiveAcquire - эксклюзивная блокировка, ожидает, пока имеется другая эксклюзивная блокировка, или счетчик неэксклюзивных блокировок не будет равен нулю.

Также необходимо, чтобы захватывать и освобождать блокировки можно было в разных потоках.

По сути это ReadWriteLock, но его стандартная реализация ReentrantReadWriteLock не позволяет разблокировать в другом потоке.
...
Рейтинг: 0 / 0
23.09.2014, 10:34
    #38754299
Alexey Tomin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Thread-independent ReadWriteLock
publexusЕсть ли такая реализация блокировок:
- acquire - захват неэксклюзивной блокировки, счетчик увеличивается на единицу, ожидает если имеется эксклюзивная блокировка.
- release - освобождение блокировки, счетчик уменьшается на единицу.
- exclusiveAcquire - эксклюзивная блокировка, ожидает, пока имеется другая эксклюзивная блокировка, или счетчик неэксклюзивных блокировок не будет равен нулю.

Также необходимо, чтобы захватывать и освобождать блокировки можно было в разных потоках.

По сути это ReadWriteLock, но его стандартная реализация ReentrantReadWriteLock не позволяет разблокировать в другом потоке.

Semaphore, ёмкость- ну 1000, неэксклюзивная блокировка- взять/положить 1, эксклюзивная- 1000.
...
Рейтинг: 0 / 0
23.09.2014, 10:52
    #38754328
publexus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Thread-independent ReadWriteLock
Alexey Tomin,

Спасибо, работает!
...
Рейтинг: 0 / 0
23.09.2014, 10:53
    #38754329
cdtyjv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Thread-independent ReadWriteLock
Только надо fairness выставить, в противном случае у вас будет starvation у потока, ожидающего эксклюзивную блокировку.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Thread-independent ReadWriteLock / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]