Описание тега reentrantlock
ReentrantLock - это класс мьютекса Java.
2
ответа
Чем полезно значение 'hold count' в Reentrant Lock?
Reentrant Lock ( https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReentrantLock.html) имеет функцию для определения силы блокировки определенным потоком, которая основана на значение "счетчик удержаний". Он инициализируется, когд…
20 апр '18 в 11:58
0
ответов
IllegalMonitorStateException при разблокировке ReentrantLock на Android
Я использую ReentrantLock с его рекомендуемой практикой (блокировка, затем фактический код в try-block, а затем разблокировка в конце, см. Пример кода ниже). Иногда (очень очень редко) у меня возникает исключение java.lang.IllegalMonitorStateExcepti…
25 авг '14 в 08:48
2
ответа
Мультипроцессорная обработка> Manager() > Ошибка RLock:
У меня есть коллекция объектов multiprocessing.Process в списке, и все они используют один и тот же экземпляр того, что я назову "очередь, безопасная для процесса", чтобы взаимодействовать безопасным для процесса (потокобезопасным, но с процессами) …
11 июл '11 в 04:48
0
ответов
Блокировка Java / Условная переменная - signal() не пробуждает поток
Поэтому застрял здесь, пытался искать ответы, не мог найти ни одного. Просто я продолжаю пытаться заставить Поезд сигнализировать Пассажиру, что он находится на станции. Сигнал постоянно зацикливается, но пассажир просто не просыпается. Я распечатал…
05 авг '16 в 16:30
2
ответа
Состояние потоков, блокировок и условий
В Java, если поток, t2пытается получить синхронизированную блокировку, которая в данный момент используется другим потоком, t1, затем t2 переключится с работоспособного на заблокированный. Правильный? Как насчет с ReentrantLocks? Если нить t1 заканч…
03 янв '17 в 19:07
1
ответ
Ожидание и уведомление о состоянии блокировки Java: IllegalMonitorStateException
Я новичок в Java. Я только что прочитал книгу "core java". Я столкнулся с проблемой "Состояние и замок". Я набрал кусок кода из книги до затмения, чтобы немного попрактиковаться. Когда я запускаю код, строка "достаточное количество Fund.wait();" ген…
29 май '16 в 09:21
0
ответов
Разница между блокировкой / разблокировкой и ожиданием / уведомлением в ОС
Название говорит само за себя, используя ReentrantLock, в чем разница между разблокировкой блокировки и использованием условия с уведомлением об ожидании? Я знаю, что ожидание / уведомление используется с условием, и внутри цикла, только в этом ли р…
15 янв '17 в 23:18
1
ответ
Проблема с источником-потребителем, использующим блокировку и условие
Я реализовал программу Producer-Consumer, используя ReentrantLock и Condition. Моя реализация запускается без каких-либо ошибок, если я сначала запускаю поток Producer. Но если я сначала запускаю Поток потребителя, я получаю исключение IllegalMonito…
13 сен '16 в 17:42
0
ответов
Поиск альтернативы ReentrantLock, подобной приоритетной очереди, для кражи блокировок из других потоков.
У меня есть набор завернутый ReentrantLocks которые имеют уникальные целочисленные идентификаторы, где я требую, чтобы потоки получали блокировки с более низким идентификатором, прежде чем они получат блокировки с более высоким идентификатором, чтоб…
26 май '13 в 21:18
1
ответ
Является ли DelayQueue без справедливости проблематичным?
В Java 7 реализация DelayQueue использует ReentrantLock без политики честности. Это проблема в долгосрочной перспективе? Может ли нить голодать из-за этого? Спасибо
24 мар '13 в 21:35
1
ответ
Java - Как изменить реализацию семафора, чтобы оно было честным
Я реализую SimpleSemaphore, используя ReentrantLock в Java. Теперь я хотел бы добавить флаг честности, чтобы он вел себя как честный \ недобросовестный семафор, как определено в его конструкторе. Вот мой код SimpleSemaphore, я был бы рад получить не…
30 апр '14 в 05:27
0
ответов
Блокировка с помощью ReentrantLock в Java
Я пытаюсь реализовать в плейлисте в Java. Единственная проблема заключается в том, что populatePlaylist() немного медленный и должен быть заблокирован. Я написал этот код, но он не работает. private static final Lock lock = new ReentrantLock(); publ…
20 июл '13 в 14:14
2
ответа
Выполнение потоков в очереди в Java
У меня есть это упражнение: Разработать многопоточное приложение. Используйте возможности java.util.concurrent. НЕ ИСПОЛЬЗОВАТЬ: синхронизированный, BlockingQueue, BlockingDeque Все сущности, желающие получить доступ к ресурсу, должны быть потоками.…
21 июн '15 в 13:45
3
ответа
Блокировка Java и отношение happend-before
Я не уверен, правильно ли я интерпретирую Javadoc. При использовании ReentrantLock после вызова lock метод и успешно получая блокировку, можете ли вы просто получить доступ к любому объекту без каких-либо синхронизированных блоков, и отношение happe…
29 окт '11 в 16:49
2
ответа
ReentrantLock - параллельная операция по переводу денег
Когда я читал в Интернете несколько примеров кода параллелизма, я нашел этот (операция перевода денег между двумя банковскими счетами): class Account { double balance; int id; public Account(int id, double balance){ this.balance = balance; this.id =…
25 дек '18 в 12:20
4
ответа
Понимание тупика на простом примере
Я работаю над пониманием основ взаимоблокировки, поэтому я придумал код ниже. У меня есть два потока, получающие блокировки в противоположном порядке, но они не блокируются. Когда я запускаю его, я вижу все распечатки. Что я делаю неправильно? publi…
18 фев '19 в 19:03
1
ответ
Как сделать так, чтобы долгое ожидание запускалось
Я работаю в ядре Java. У меня есть одна небольшая программа, которая будет печатать числа 1,2,3 соответствующими потоками thread1, thread2 и thread3. while(true) { synchronized (obj) { System.out.println("Thread got chance : "+Thread.currentThread()…
04 май '18 в 12:51
1
ответ
Параллелизм высокого уровня в игровом цикле Android
Я пытаюсь синхронизировать пару потоков, не связанных с пользовательским интерфейсом, один поток для запуска игровой логики и один поток для рендеринга, чтобы выполнять задачи в логическом и эффективном порядке. Я наложил ограничение на то, что вся …
04 июн '13 в 16:50
3
ответа
Как блокировка повторного входа помогает снова, когда у нас уже есть блокировка?
Таким образом, повторяющаяся блокировка увеличивает счет на единицу, если текущий поток снова получает блокировку. что я не могу понять, это почему и как это помогает или приносит пользу нам?
30 авг '18 в 12:58
2
ответа
Связь между потоками в Java без блокировки
Итак, чего я хочу добиться, так это двух потоков, выполняющих свою задачу по очереди. У меня изначально был только один вопрос; Как я могу добиться, чтобы два потока по очереди выполняли свою задачу без использования блокировки? Причина, по которой …
30 май '15 в 01:25