Описание тега reentrantreadwritelock

ReentrantReadWriteLock - это класс Java, обеспечивающий блокировку для работы с несколькими потоками.
3 ответа

ConcurrentHashMap против ReentrantReadWriteLock на основе пользовательской карты для перезагрузки

Ява Гуру, В настоящее время у нас есть HashMap<String,SomeApplicationObject> который часто читается и время от времени изменяется, и у нас возникают проблемы, которые во время модификации / перезагрузки возвращают операцию чтения null что не п…
1 ответ

Проверка наличия readLock в `ReentrantReadWriteLock`

У меня есть несколько тесно связанных вопросов, которые возникли при попытке использовать ReentrantReadWriteLock контролировать доступ к довольно сложной структуре данных, которая имеет ряд различных операций чтения и записи. Согласно примерам в док…
2 ответа

Поток заблокирован навсегда, когда ожидает блокировки

Я пишу Java-реализацию для двухфазной блокировки. Итак, я использую блокировку Reentrant (блокировка ReadWrite). Проблема заключается в том, что когда поток выполняет lock.readLock.lock () или lock.writeLock (). Lock () и блокировка уже заблокирован…
1 ответ

Отладка ReentrantReadWriteLock Deadlock в Eclipse

У меня есть приложение, которое иногда блокируется (скажем, раз в месяц). Прямо сейчас мне удалось воспроизвести это условие во время работы в отладчике затмения. Кажется, что все потоки ожидают освобождения WriteLock. Что мне нужно, так это способ …
06 фев '16 в 11:29
1 ответ

Quasar ReenterantReadWriteLock не может быть получен

У меня есть замок: private ReentrantReadWriteLock requestWaitingLock; И я выполняю этот блок внутри Fiber: System.out.println(requestWaitingLock.isWriteLocked()); System.out.println(requestWaitingLock.getReadHoldCount()); requestWaitingLock.writeLoc…
3 ответа

Использование ReentrantReadWriteLock и логического флага

У меня есть кэш, который загружается заранее с большим объемом данных (фоновым потоком) и не может использоваться до полного заполнения (он также будет перезагружаться время от времени и будет непригодным для использования во время этой загрузки). Я…
4 ответа

ReentrantReadWriteLock, в чем разница между ReadLock и WriteLock

Что я знаю, так это то, что запись аналогична синхронизированной. Readlock и writelock как-то влияют друг на друга. ReadLock не может работать в одиночку.
1 ответ

ReentrantReadWriteLock. чтение и запись приобретают приоритет

Я исследую ReentrantReadWriteLock фрагмент из документа Java: Поток не получит блокировку чтения до тех пор, пока самый старый в настоящее время ожидающий поток записи не получит и не снимет блокировку записи Таким образом, как я понял. длительность…
3 ответа

Использование Java ReadWriteLock для синхронизации кэшированных данных - стоит ли помечать переменные состояния как энергозависимые?

Javadoc ReadWriteLock в Oracle и его реализация описывают, что делает блокировка и как ее использовать, но ничего не говорит о том, использовать ли блокировку. volatile ключевое слово. Это не тот же вопрос, что и do-all-mutable-variable-need-be-vol…
2 ответа

Как я могу создать оболочку над ReentrantReadWriteLock ReadLock и WriteLock

У меня есть ReentrantReadWriteLock, ReentrantReadWriteLock содержит ReadLock и WriteLock в качестве подклассов. I want to extend this ReadLock and WriteLock by my custom classes as DummyReadLock and DummyWriteLock. Тогда я должен быть в состоянии сд…
1 ответ

ReadWriteLock блокировка записи насыщена

У меня проблема с тем, что поток Writer голодает без блокировки. Пожалуйста, посмотрите на следующий код. Если я пытаюсь получить блокировку с помощью tryLock() для блокировки чтения процесс записи станет голодным, и он никогда не сможет писать. Даж…
1 ответ

Используют ли неактивные потоки, созданные методами readLock() или writeLock() в классе ReentrantReadWriteLock, циклы ЦП?

Я использую Java 6 и читаю через Java Concurrency на практике. Я пытаюсь выяснить, использует ли эти методы, если неактивный поток, ожидающий блокировки, использует какие-либо циклы ЦП, пока он не используется. Кто-нибудь знает? Спасибо! Matt
1 ответ

ReentrantReadWriteLock читает, пока writeLock заблокирован?

Я исследую ReentrantReadWriteLock, Я пишу простой код для теста (я знаю, что использование Thread.sleep() не может гарантировать предсказуемый результат, но я думаю, что мне повезло:)): public class RWLock { private static String val = "old"; privat…
1 ответ

Будет ли Readlock и Writelock вызывать голод у писателя?

В решении проблемы чтения и записи я стараюсь использовать ReentrantReadWriteLock, Я знаю, что все читатели могут получить блокировку чтения одновременно, однако блокировка записи должна ждать, пока все блокировки чтения будут сняты. Приведет ли это…
08 янв '12 в 04:03
1 ответ

Документация для java.util.concurrent.locks.ReentrantReadWriteLock

Отказ от ответственности: я не очень хорош в Java и просто сравниваю блокировки чтения / записи между C# и Java, чтобы лучше понять эту тему и решения, стоящие за обеими реализациями. Существует JavaDoc о ReentrantReadWriteLock. В нем говорится след…
23 май '10 в 08:41
1 ответ

Могу ли я изменить java.util.concurrent.locks.Lock на java.util.concurrent.locks.ReentrantReadWriteLock;

У меня есть метод, который создает блокировку. ReadWriteLock lock = new ReentrantReadWriteLock(); Затем я передаю этот объект в метод, использующий интерфейс блокировки. method(Lock lock) внутри метода я просто делаю следующее. final ReentrantReadWr…
30 ноя '11 в 08:48
3 ответа

Что происходит с блокировкой чтения, если текущий поток падает

Как говорит заголовок, любопытно, что происходит с блокировкой чтения, когда текущий поток падает. readlock.lock(); try { ... } finally { readlock.unlock(); } Мы можем определенно разблокировать в блоке finally, чтобы предотвратить любое прерывание.…
20 дек '12 в 23:35
2 ответа

Java ReentrantReadWriteLock запросы

Просто быстрый вопрос о ReadWriteLocks в Java (в частности, о реализации ReentrantReadWriteLock), так как я не нахожу документацию sun понятной. Что произойдет, если блокировка чтения удерживается потоком, когда блокировка записи запрашивается други…
5 ответов

Правильное использование ReentrantReadWriteLock при передаче сигналов от писателя к читателю?

Шаблон использования возник по следующим причинам: Мне нужно прочитать поток, чтобы дождаться данных, если они отсутствуют с условиями. Блокировка чтения не поддерживает условие, поэтому условие должно быть взято из блокировки записи. Поскольку пото…
4 ответа

Что происходит, когда несколько потоков хотят получить доступ к ReentrantReadWriteLock?

Когда применяется reentrantReadWriteLock, и он заблокирован, что произойдет, если другой поток получит доступ к блокировке, пока он уже выполняет другой блок? (Таким образом, прежде чем он достигнет.unlock) Метод отменен? Или, возможно, он остановил…