Вопросы по теме 'java.util.concurrent'
Есть ли недостатки у ConcurrentHashMap?
Мне нужен HashMap, доступный из нескольких потоков.
Есть два простых варианта: использование обычного HashMap и синхронизация на нем или использование ConcurrentHashMap.
Поскольку ConcurrentHashMap не блокирует операции чтения, он намного лучше...
9485 просмотров
schedule
26.11.2022
Пример Java использования ExecutorService и PipedReader/PipedWriter (или PipedInputStream/PipedOutputStream) для потребителя-производителя
Я ищу простую реализацию производителя-потребителя на Java и не хочу изобретать велосипед.
Мне не удалось найти пример, в котором используется как новый пакет параллелизма, так и любой из классов Piped.
Есть ли пример использования как...
4342 просмотров
schedule
11.02.2024
Пожалуйста, объясните состояние гонки в этой идиоме «положи-если-отсутствует».
Рассмотрим следующий код и предположим, что список является синхронизированным списком.
List list = Collections.synchronizedList(new ArrayList());
if(!list.contains(element)){
list.add(element)
}
Я знаю, что приведенный выше фрагмент...
962 просмотров
schedule
27.05.2022
Создание пользовательского java.util.concurrent.ForkJoinTask‹V›
В настоящее время я оцениваю различные решения параллелизма для решения бизнес-проблемы. Вариант использования сродни алгоритму «смущающе-параллельного».
По сути, для одного запроса пользователя нам нужно получить данные из нескольких разных...
821 просмотров
schedule
19.05.2022
Почему ArrayBlockingQueue называется ограниченной очередью, а LinkedBlockingQueue называется неограниченной очередью блокировки?
Насколько я знаю, и связанный список, и массив могут расти без ограничений, или я ошибаюсь? Но когда я прошел через документация в Executor Service Я вижу это:
Неограниченные очереди. Использование неограниченной очереди (например,...
14475 просмотров
schedule
09.04.2022
ExecutorCompletionService? Зачем он нужен, если у нас есть invokeAll?
Если мы используем ExecutorCompletionService , мы можем отправить ряд задач как Callable s и получить результат, взаимодействуя с CompletionService как queue .
Но есть также invokeAll из ExecutorService , который принимает Collection...
27713 просмотров
schedule
21.03.2022
Сканер каталогов на Java
Непрерывно сканируйте набор каталогов для набора фильтров имен файлов. Для каждого полученного фильтра имени файла обработайте файл и повторите шаги для всех
Какой может быть рекомендуемый дизайн для этого в jdk 1.5, возможно, с использованием...
3702 просмотров
schedule
15.04.2023
Вероятный ложный положительный результат от Findbugs?
Пожалуйста, обратитесь к следующему фрагменту кода (убрана лишняя часть, чтобы выделить проблемный случай):
FindBugs жалуется, что " Метод не снимает блокировку на всех путях ". Это ложное срабатывание? Если нет, то как это исправить?
try{...
1134 просмотров
schedule
21.07.2023
События Java - java.util.ConcurrentModificationException
Да, я уверен, что этот вопрос существует, но я попробовал ответы, и, думаю, мне нужен индивидуальный ответ.
В любом случае, как следует из названия, я получаю java.util.ConcurrentModificationException .
Все это вызывается в собственном...
1197 просмотров
schedule
19.03.2022
Семафор Java + Блокировка синхронизации не удерживается, когда вызывается методAcquire()
Я не могу понять значение строки ниже, которая указана по ссылке Мир Java
Блокировка синхронизации не удерживается, когда вызывается методAcquire(), потому что это предотвратило бы возврат элемента в пул.
Пожалуйста, помогите мне понять...
83 просмотров
schedule
30.12.2022
Производительность сбрасываемого таймера в Java
При профилировании своего приложения я обнаружил источник частого выделения ... Я использую несколько таймеров для проверки тайм-аутов (~ 2 мс, зависит от состояния приложения).
Согласно этому ответу SO , ScheduledThreadPoolExecutor...
347 просмотров
schedule
09.06.2023
Масштабируемый способ доступа к каждому элементу ConcurrentHashMap‹Element, Boolean› ровно один раз
У меня есть 32 машинных потока и один ConcurrentHashMap<Key,Value> map , который содержит много ключей. Key определил общедоступный метод visit() . Я хочу visit() каждый элемент карты ровно один раз, используя доступную вычислительную...
847 просмотров
schedule
01.03.2024
Безопасны ли отрицательные тайм-ауты с Future.get(long, TimeUnit)?
Безопасно ли указывать отрицательный тайм-аут для java.util.concurrent.Future.get(long, TimeUnit) ? В документации говорится
Ожидает, если необходимо, не более заданного времени для завершения вычисления, а затем извлекает его результат, если...
1092 просмотров
schedule
05.07.2022
Реализация параллельных задач Java
Моя проблема заключается в следующем: у меня может быть не более трех одновременных задач. Эти задачи могут обрабатывать от 1 до 100 заданий одновременно. У меня есть много тем, постоянно отправляющих отдельные задания, и я хочу отвечать на них как...
723 просмотров
schedule
02.04.2022
Java ReentrantReadWriteLock — правильное использование?
У меня возникают некоторые проблемы с параллелизмом в моем веб-приложении, где выполняется запись в БД, а также могут быть одновременные чтения. При записи сначала удаляются все строки, а затем вставляются новые, поэтому есть вероятность, что чтение...
1650 просмотров
schedule
21.06.2023
Можно ли в Java 7+ ForkJoinPool отменить задачу и все подзадачи?
Моя программа ищет решение (любое решение) проблемы с помощью подхода «разделяй и властвуй», реализованного с использованием рекурсии и RecursiveTasks : я разветвляю задачу для первой ветви разделения, затем рекурсивно выполняю вторую ветвь: если...
3592 просмотров
schedule
17.06.2022
Как запустить потребителя блокировки опроса в Java?
У меня есть некоторая служба, которая одновременно потребляет из входящей очереди и создает в некоторой исходящей очереди (где другой поток, созданный этой службой, собирает сообщения и «транспортирует» их к месту назначения).
В настоящее время я...
136 просмотров
schedule
04.01.2023
ЦП завис от 95% до 100% для автономного сервера Jetty
Я использую Jetty для запуска основного класса в качестве службы. Ниже фрагмент кода для демонстрации проблемы.
Server server = new Server(8080);
ResourceHandler resource_handler = new ResourceHandler();...
1320 просмотров
schedule
14.06.2023
Очередь пула потоков с уникальными задачами
Я использую ThreadPoolTaskExecutor (of spring) для асинхронного выполнения некоторых задач.
Требуемая задача загрузит какой-то объект из внешней БД в мою системную память. Я использую максимальный размер пула потоков 10 и максимальный размер...
3244 просмотров
schedule
24.03.2022
'scanAndLockForPut' в ConcurrentHashMap JDK1.7
Мой вопрос касается предложения в документе:
В отличие от большинства методов, вызовы методов equals не проверяются: поскольку скорость обхода не имеет значения, мы могли бы также помочь разогреть связанный код и доступы.
Я не могу понять...
105 просмотров
schedule
12.09.2022