Описание тега java.util.concurrent
Java package which contains utility classes commonly useful in concurrent programming. This package includes a few small standardized extensible frameworks, as well as some classes that provide useful functionality and are otherwise tedious or difficult to implement.
1
ответ
LongAdder Striped64 был неконтролируемая деталь реализации
Это вопрос не о том, как работает LongAdder, а о интригующей детализации, которую я не могу понять. Вот код из Striped64 (я вырезал некоторые части и оставил соответствующие части для вопроса): final void longAccumulate(long x, LongBinaryOperator fn…
13 дек '16 в 13:05
6
ответов
Параллельная карта с фиксированным размером
Мне нужна карта со следующими требованиями: Это должно быть в высокой степени одновременно. put(), get() а также remove() методы могут вызываться несколькими потоками одновременно. Он должен быть фиксированного размера. Если размер HashMap достигает…
05 ноя '14 в 13:28
1
ответ
ScheduledThreadPoolExecutor выполняет неправильное время из-за несоответствия времени процессора
Я планирую задачу, используя объект ScheduledThreadPoolExecutor. Я использую следующий метод: public ScheduledFuture<?> schedule(Runnable command, long delay,TimeUnit unit) и установите задержку на 30 секунд (задержка = 30 000 и единица измере…
30 апр '10 в 15:55
1
ответ
Главный поток java управляет запуском других потоков
Я бы описал мою проблему: Я разрабатываю приложение для создания документов (документы Office) в асинхронном режиме, поэтому я использую потоки из-за ограничений производительности я должен запускать только 2 потока одновременно, Чтобы не блокироват…
08 янв '13 в 14:04
4
ответа
Метод ThreadFactory newThread() вызывается только один раз для каждого вызова submit() в ThreadPoolExectutor
Я пытаюсь назначить номер для каждого из MyRunnable представлен ThreadPoolExecutor но мне не удалось. Мой фрагмент кода: import java.util.concurrent.*; class SimpleThreadFactory implements ThreadFactory { String name; static int threadNo = 0; public…
18 янв '16 в 14:58
3
ответа
Callable выполняется последовательно?
Всякий раз, когда я запускаю свою программу, реализующую функцию callable, я получаю вывод в последовательной форме. Мол, вот моя программа: package com.handson; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.BlockingQue…
23 авг '13 в 08:35
2
ответа
Является ли Set of ConcurrentHashMap потокобезопасным в foreach?
Безопасно ли выполнять операции foreach, add, remove, size в разных потоках со следующим набором? private final Set<MyObject> myConcurrentHashSet = ConcurrentHashMap.newKeySet(); Т.е. мне не нужно получать максимальную точность в операциях for…
23 авг '17 в 11:48
4
ответа
Я не понимаю, почему неизменяемые объекты в Java всегда наследуют потокобезопасность
Я читаю книгу "Эффективная Java" и главу, посвященную минимизации изменчивости. Пункт 15. Возможно, у меня возникли проблемы с пониманием концепции безопасности потоков, так как я не очень опытен в параллелизме. Могу ли я получить пример, который ил…
16 май '14 в 02:34
1
ответ
java.util.ConcurrentModificationException в игровом цикле Android
Я использую холст, перемещая объекты на экране, когда объект попадает на левую сторону холста (x=0), создается другой объект того же типа и начинает двигаться на экране. Все работает отлично, несколько объектов создаются и начинают двигаться по экра…
17 ноя '16 в 17:31
3
ответа
Как решить findbug Последовательность обращений к java.util.concurrent.ConcurrentHashMap может быть не атомарной
Привет, я получаю сообщение об ошибке "Последовательность обращений к java.util.concurrent.ConcurrentHashMap может быть не атомарным", когда я выполняю поиск ошибок в моем проекте для приведенного ниже кода. public static final ConcurrentHashMap<…
21 янв '14 в 06:51
1
ответ
Атомность комбинированного putIfAbsent и заменить на ConcurrentMap
Это относится к принятому решению вопроса, поднятого в этой теме public void insertOrReplace(String key, String value) { for (;;) { String oldValue = concurrentMap.putIfAbsent(key, value); if (oldValue == null) return; final String newValue = recalc…
07 сен '14 в 03:10
2
ответа
Есть ли BlockingMap как BlockingQueue в Java?
Я хотел бы иметь одну структуру данных BlockingMap, которая очень похожа на BlockingQueue. Метод take из BlockingQueue будет ожидать там, пока элемент не станет доступен. Я хотел бы, чтобы метод get BlockingMap ожидал, пока соответствующий ключ не с…
06 янв '14 в 08:38
0
ответов
Также имеется исключение ConcurrentModificationException для CopyOnWriteArrayList
Я использую следующий код, чтобы создать CopyOnWriteArrayList, изменить элементы, находящиеся в нем, а затем распечатать элементы. Я не могу понять, почему я получаю ConcurrentModificationException, когда я использую CopyOnWriteArrayList. public cla…
23 мар '17 в 13:58
2
ответа
Может ли метод `ConcurrentHashMap::get` вернуть" грязное "значение kkkjjjjj?
При записи значения через put метод, если другой поток пытается прочитать значение для того же ключа, что получит поток чтения? Старое значение, новое значение или какое-то "мусорное" значение?
15 май '18 в 12:06
4
ответа
Вызывается с помощью цикла while
Мне нужно предоставить код, который с помощью ExecutorService, Callable и Future будет выполнять некоторые вычисления и печатать частичные результаты до тех пор, пока не будет достигнуто определенное условие. Первое, что приходит мне в голову - это …
11 май '17 в 10:31
2
ответа
Java - Преобразование ожидания / уведомления в java.util.concurrent
У меня возникают трудности с преобразованием устаревших уведомлений о ожидании с ложными ожиданиями в API java.util.concurrent Первая проблема: что использовать, Future или CountdownLatch или CyclicBarrier в соответствии с этим вопросом Второй вопро…
20 янв '15 в 09:30
2
ответа
Итерация ConcurrentHashmap
Мой текущий код выполняет итерацию ConcurrentHashMap с использованием цикла Java 5 для каждого. В приведенном ниже коде, поскольку неявный итератор является отказоустойчивым, я не сталкиваюсь с ConcurrentModificationException. Map<Long,String>…
09 апр '14 в 03:09
1
ответ
Разница между Phaser и CyclicBarrier
Я наткнулся на сомнение относительно различий между утилитами CyclicBarrier и Phaser в параллельном пакете Java. Я понимаю, что CyclicBarrier позволяет группе потоков ждать, пока все потоки не достигнут определенной точки. Phaser также делает то же …
27 мар '18 в 07:30
0
ответов
Обработка поставленных в очередь задач в ScheduledExecutorService при завершении работы
У меня есть приложение в Java, которое использует java.util.concurrent ScheduledExecutorService, Одним из способов использования является планирование задачи scheduledExecutorService.schedule(() -> taskToBeScheduled(parameter), timeToSchedule, MI…
29 ноя '18 в 12:15
3
ответа
Как обрабатывать параллельные обновления и чтения в POJO, хранящемся на карте
Я планирую реализовать простой кэш в памяти для поиска с использованием CHM, который работает не более чем с двумя параллельными потоками. Один поток выполняет итерацию и обновление CHM с использованием итератора, а второй поток читает значения из к…
08 ноя '17 в 04:29