Вопросы по теме 'reentrantlock'

ReentrantLock.tryLock (длительный тайм-аут, блок TimeUnit) не истечет тайм-аут, когда не может получить блокировку
Во время интеграции моего проекта с Ehcache (с декоратором BlockingCache, который внутри использует ReentrantLock) я обнаружил странное поведение на одной машине. Время от времени потоки, ожидающие получения блокировки через вызов...
2198 просмотров

Параллелизм высокого уровня в игровом цикле Android
Я пытаюсь синхронизировать пару потоков, не связанных с пользовательским интерфейсом, один поток для запуска игровой логики и один поток для рендеринга, чтобы выполнять задачи в логическом и эффективном порядке. Ограничение, которое я наложил на...
285 просмотров

Условие дает эффект наличия нескольких наборов ожидания для каждого объекта?
Я читаю о состоянии в java.util.concurrent.locks.Condition . Условие выделяет методы монитора объекта (wait, notify и notifyAll)> в отдельные объекты, чтобы создать эффект наличия нескольких наборов ожидания для каждого объекта, комбинируя их...
2643 просмотров

Приоритетность приобретения справедливого ReentrantLock, где он потенциально может быть заблокирован
У меня есть ReentrantLock, на котором блокируется множество операций, который был создан с помощью new ReentrantLock(true) . Есть ли способ для потока «вторгнуться» в блокировку и получить ее после того, как она будет выпущена, но до любых других...
285 просмотров

Несколько условий против нескольких блокировок
Для конкретной потокобезопасной структуры данных мне необходимо защитить доступ к центральной структуре данных (а именно к массиву байтов). Я предпочитаю использовать ReentrantLocks в этом случае из-за его политики справедливости, а также расширенных...
2370 просмотров

Преимущества использования ReentrantLock по сравнению с синхронизированным [дубликатом]
Я обнаружил еще одно преимущество использования ReentrantLock по сравнению с синхронизированным Ниже код показывает, даже если исключение возникает в критической секции, блокировка снята (с использованием ReentrantLock ) void someMethod() {...
464 просмотров

Reetrant блокировки в java
Я новичок в многопоточности в java. Я пытался использовать блокировки. Вот мой пример кода. package com; import java.util.Random; import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.Lock; import...
1413 просмотров

Состояние блокировки повторного входа
public class MyLockConditionTest { private final Lock alock = new ReentrantLock(); private final Condition condition = alock.newCondition(); private String message = null; public void waitForCallback() { alock.lock();...
370 просмотров

Реализован ли ReentrantReadWriteLock как спин-блокировка?
Как работает ReentrantReadWriteLock ? Это спин-блокировка? Вопрос исходит от Elasticsearch, когда он показывает java.lang.ThreadLocal$ThreadLocalMap.expungeStaleEntry(Unknown Source) java.lang.ThreadLocal$ThreadLocalMap.remove(Unknown...
874 просмотров

Reentrantlock отлично работает в Java, но вызывает исключение IllegalMonitorException в Scala.
Я хотел бы перенести функцию Java protected static final Lock LOCK = new ReentrantLock(); public double calculate(...){ try { LOCK.tryLock(20, TimeUnit.SECONDS); ... }finally{ LOCK.unlock() } } Та же...
652 просмотров

Изменение реализации ConcurrentHashMap с Java 7 на 8
Недавно я просмотрел исходный код ConcurrentHashMap java 1.8, и там вся реализация изменена с java 1.7. И, в частности, меня больше интересует, почему для целей блокировки теперь используется synchronized вместо Reentrantlock в 1.7. Если бы кто-то...
1300 просмотров

Блокировка всех экземпляров класса в Java
Я внедряю параллельную банковскую систему, в которой все операции могут выполняться одновременно. Я реализовал потокобезопасный transferMoney метод, который переводит amount из Учетной записи from в to . transferMoney реализуется...
388 просмотров

Могу ли я изменить ReentrantLock, чтобы его можно было использовать с попыткой использования ресурсов?
Я хотел спросить, в порядке ли эта реализация, или, может быть, есть какие-то проблемы, которые позже могут стать проблематичными. Идея состоит в том, чтобы реализовать класс ReentrantLock, который можно использовать с «попробовать с ресурсами», а...
91 просмотров
schedule 19.11.2022

Java 8 Reentrant Lock and Condition приводит к IllegalMonitorStateException: текущий поток не является владельцем
Я уже искал эту ошибку здесь, но я думаю, что мой фрагмент кода выглядит правильно: Я получаю блокировку вне попытки.. наконец У меня есть разблокировка в разделе finally Я только пытался дождаться состояния внутри замка. Я даже печатаю,...
176 просмотров
schedule 28.12.2022

в зависимости от того, какая реализация ожидает и работает signalAll
Я читал о reentrantlock в java и о том, как мы можем узнать условие блокировки, используя метод newCondition() в интерфейсе Condition , но затем я увидел в документация интерфейса Условие , которое пользователь должен предоставить для его...
81 просмотров

Что произойдет, если мы вызовем condition.await() несколько раз текущим потоком в Java
Я хотел бы понять, что на самом деле происходит, когда мы выполняем следующий фрагмент кода. Когда поток выполняет someMethod() и попадает в цикл while, что произойдет, если он снова и снова будет вызывать метод await? Как контекст потока...
47 просмотров