Вопросы по теме 'java.util.concurrent'
Однопоточная обработка задачи без постановки в очередь дальнейших запросов
У меня есть требование, чтобы задача выполнялась асинхронно, отбрасывая любые дальнейшие запросы, пока задача не будет завершена.
Синхронизация метода просто ставит задачи в очередь и не пропускает их. Сначала я думал использовать...
5168 просмотров
schedule
23.05.2023
Реализация BlockingQueue: в чем разница между SynchronousQueue и LinkedBlockingQueue
Я вижу эти реализации BlockingQueue и не могу понять различий между ними. Мой вывод на данный момент:
Мне никогда не понадобится SynchronousQueue
LinkedBlockingQueue гарантирует, что FIFO, BlockingQueue должен быть создан с параметром...
27747 просмотров
schedule
26.08.2022
Уведомление о задержке получения блокировки в Java
У нас есть вариант использования, когда нам нужно получить блокировку и отправить уведомление, если получение блокировки занимает более 5 минут. Мы все еще должны ждать блокировки навсегда.
Мы используем повторные блокировки, и lock.tryLock(5,...
186 просмотров
schedule
30.12.2022
ReentrantReadWriteLock зависает
есть идеи, почему этот конструктор зависает на неопределенный срок? Я пытаюсь создать потокобезопасный синглтон.
private RWLockedSingleton() {
lock.writeLock().lock();
System.out.println("we're done!");
isComplete = true;...
898 просмотров
schedule
26.08.2023
как я могу обработать CancellationException в параллельном программировании Java?
Я использую пакет java.util.concurrent для создания параллельной программы. У меня есть 2 темы:
thread-1, который вызывает метод-1 веб-сервиса, и
thread-2, который вызывает метод webservice-2.
Я указываю тайм-аут выполнения потока -...
762 просмотров
schedule
10.08.2022
Как определить, когда все задачи в конвейере выполнены в одной службе Java Executor
У меня есть конвейер задач, которые нужно выполнить с файлами, каждый отдельный тип задачи выполняется внутри другой службы-исполнителя. После инициализации каждой службы-исполнителя я запускаю первую задачу, она гарантированно не завершится, пока не...
683 просмотров
schedule
10.04.2022
Пул потоков, в котором работники одновременно являются производителями и потребителями
У меня неограниченная очередь заданий, которые можно обрабатывать асинхронно. Обработка каждого задания может запускать или не запускать создание новых заданий для этой очереди.
Я хотел бы, чтобы пул из нескольких рабочих потоков брал элементы из...
1623 просмотров
schedule
02.06.2022
Блокировки чтения и записи в ReentrantReadWriteLock как-то связаны?
Пожалуйста, объясните мне больше контракта. Я не могу понять, связаны ли как-то две блокировки, содержащиеся в ReentrantReadWriteLock ? Или это просто связка из двух нормальных замков?
2942 просмотров
schedule
19.06.2022
Почему этот код приводит к исключению invalidMonitorState?
Код ниже пытается вставить случайное значение в циклическую очередь и удалить его. Однако есть некоторые проблемы с синхронизацией. Я знаю, что могу использовать процедуры более высокого уровня, и я собираюсь сделать это для производственного кода,...
1897 просмотров
schedule
08.06.2022
Исключение одновременной модификации с ArrayList
У меня проблема с ConcurrentModificationException .
У меня есть класс ArrayList из Complex , который я определил. Я добавил два Complex es и пытаюсь выполнить цикл для каждого , но получаю ConcurrentModificationException . Однако, когда я...
336 просмотров
schedule
17.04.2023
Ограничение количества потоков и параллелизма Java
Я не смог найти пример этого конкретного случая с использованием последних параллельных процедур JAVA.
Я планирую использовать threads для обработки элементов из открытой очереди, которая может содержать от 0 до тысяч запросов. Я хочу ограничить...
1306 просмотров
schedule
15.10.2022
Использование atomic для создания уникального идентификатора
class ABC{
private static Random random = new Random();
private static AtomicLong uniqueLongId = new AtomicLong(System.currentTimeMillis());
public static long getUniqueLongId(){
long id = uniqueLongId.incrementAndGet();...
2317 просмотров
schedule
12.07.2022
Java ScheduledExecutorService производитель\потребитель
У меня есть следующий проект:
Веб-приложение на основе Spring (3.2) (Tomcat 7), в фоновом режиме у меня есть несколько задач.
У меня есть очередь с некоторой информацией для обработки. Эта очередь периодически обновляется (но только когда она...
684 просмотров
schedule
25.04.2023
AtomicInteger.incrementAndGet() против AtomicInteger.getAndIncrement()
Если возвращаемое значение не представляет интереса, есть ли какая-либо (даже нерелевантная на практике) разница между AtomicInteger.getAndIncrement() и AtomicInteger.incrementAndGet() , когда возвращаемое значение игнорируется?
Я думаю о...
25125 просмотров
schedule
16.06.2022
ExecutorService.submit(‹callable›) занимает больше времени?
Я пытаюсь понять утилиты в пакете java.util.concurrent и узнал, что мы можем отправлять объекты callable в ExecutorService , который возвращает Future , который заполняется значением, возвращаемым callable , после успешного завершения задачи в...
4885 просмотров
schedule
22.04.2023
Умная асинхронная перерисовка в Java
У меня есть вариант использования, связанный с проблемой графического интерфейса, который я хотел бы представить вашей прозорливости.
Случай использования
У меня есть графический интерфейс, который отображает результат вычислений в зависимости...
1505 просмотров
schedule
28.04.2023
Почему CopyOnWriteArrayList.get не нуждается в синхронизации?
только что взглянул на класс CopyOnWriteArrayList, и мне стало интересно, почему его метод get(...) не нуждается в синхронизации. Методы add(...) и set(...) изменяют базовый массив в блоке мьютекса с помощью ReentrantLock. Но get(...) просто...
827 просмотров
schedule
24.12.2022
Исполнители — потребность в LinkedBlockingQueue
Когда мы говорим об обработке асинхронных событий с помощью службы Executors, почему при создании нового фиксированного пула потоков используется LinkedBlockingQueue? Приходящие события вообще не зависят друг от друга, так зачем использовать очередь,...
566 просмотров
schedule
25.05.2023
Как достигается атомарность в классах, определенных в пакете java.util.concurrent.atomic?
Я просматривал исходный код java.util.concurrent.atomic.AtomicInteger , чтобы узнать, как достигается атомарность с помощью атомарных операций, предоставляемых классом. Например, источник метода AtomicInteger.getAndIncrement() выглядит следующим...
1746 просмотров
schedule
22.12.2022
Список всех запущенных/поставленных в очередь потоков в ThreadPoolTaskExecutor
Я использую ThreadPoolTaskExecutor весной для планирования своих задач.
Есть ли способ получить список или что-то из каждого запущенного и поставленного в очередь потока этого исполнителя/пула задач?
6890 просмотров
schedule
29.10.2022