Описание тега concurrenthashmap

Структура данных Java ConcurrentHashMap. ConcurrentHashmap - это хэш-таблица, поддерживающая полный параллелизм извлечения и регулируемый ожидаемый параллелизм для обновлений. Он позволяет одновременно изменять карту из нескольких потоков без необходимости их блокировать.
2 ответа

Является ли concurrentMap.keySet(). ToArray() потокобезопасным?

У меня есть ConcurrentHashMap<String, Object> concurrentMap; Мне нужно вернуть строку [] с ключами карты. Это следующий код: public String[] listKeys() { return (String[]) concurrentMap.keySet().toArray(); } поток безопасно?
29 ноя '16 в 18:30
3 ответа

ConcurrentHashMap против ReentrantReadWriteLock на основе пользовательской карты для перезагрузки

Ява Гуру, В настоящее время у нас есть HashMap<String,SomeApplicationObject> который часто читается и время от времени изменяется, и у нас возникают проблемы, которые во время модификации / перезагрузки возвращают операцию чтения null что не п…
0 ответов

Spring загрузочное приложение, чтобы принять пользовательский ввод и сохранение без любой базы данных

У меня есть требование создать подпружиненное и угловое приложение без использования какой-либо базы данных, даже в памяти БД. Приложение должно принимать пользовательский ввод и отображаться в Angular. // The controller class looks like bellow @Cro…
22 авг '18 в 12:57
1 ответ

Структура данных Concurrenthashmap Iterator

Мне нужно было спросить о следующих аспектах ConcurrentHashMap, так как я не могу понять это из исходного кода.(Обратите внимание, что я не спрашиваю о поведении, которое хорошо понято. Речь идет о механизме, который итератор использует для отображе…
13 июн '14 в 03:43
6 ответов

Параллельная карта с фиксированным размером

Мне нужна карта со следующими требованиями: Это должно быть в высокой степени одновременно. put(), get() а также remove() методы могут вызываться несколькими потоками одновременно. Он должен быть фиксированного размера. Если размер HashMap достигает…
7 ответов

Почему ConcurrentHashMap предотвращает нулевые ключи и значения?

JavaDoc ConcurrentHashMap говорит это: подобно Hashtable но в отличие от HashMapэтот класс не позволяет null использоваться в качестве ключа или значения. Мой вопрос: почему? 2-й вопрос: почему Hashtable не допускает нулевое значение? Я использовал …
30 мар '09 в 19:12
1 ответ

Java: использование ConcurrentHashMap в качестве менеджера блокировки

Я пишу очень параллельное приложение, которому нужен доступ к большому детализированному набору общих ресурсов. В настоящее время я пишу глобальный менеджер блокировки, чтобы организовать это. Мне интересно, могу ли я воспользоваться контрабандой Co…
3 ответа

Как решить findbug Последовательность обращений к java.util.concurrent.ConcurrentHashMap может быть не атомарной

Привет, я получаю сообщение об ошибке "Последовательность обращений к java.util.concurrent.ConcurrentHashMap может быть не атомарным", когда я выполняю поиск ошибок в моем проекте для приведенного ниже кода. public static final ConcurrentHashMap<…
1 ответ

Как реализовать многозадачные блокировки чтения / записи (ConcurrentHashmap)

У меня есть приложение, которое читает и пишет несколько файлов. Цель состоит в том, чтобы предотвратить чтение или запись определенного файла во время записи другим потоком. Я не хочу блокировать чтение и запись всех файлов во время записи одного ф…
3 ответа

Новый ConcurrentHashMap из нового ConcurrentHashMap

Я пытаюсь инициализировать ConcurrentHashMap из ConcurrentHashMapс private final ConcurrentHashMap< String, ConcurrentHashMap<String, Double> > myMulitiConcurrentHashMap = new ConcurrentHashMap< String, new ConcurrentHashMap<String…
01 дек '13 в 23:38
3 ответа

Java Collection Framework: Некоторые потокобезопасны, а некоторые нет?

Я изучаю фреймворк Java-коллекции (а не фреймворк Concurrent Collection) и узнал, что некоторые реализации Collection являются поточно-ориентированными, а некоторые - нет. В большинстве материалов, которые я прочитал, все, что упоминается, что xyz п…
17 дек '17 в 12:51
2 ответа

Может ли метод `ConcurrentHashMap::get` вернуть" грязное "значение kkkjjjjj?

При записи значения через put метод, если другой поток пытается прочитать значение для того же ключа, что получит поток чтения? Старое значение, новое значение или какое-то "мусорное" значение?
1 ответ

Эти два метода эквивалентны?

Этот вопрос связан с вопросом, который я только что задал здесь. Даноservers это private static ConcurrentHashMap, следующие два метода и третий подход все эквивалентны в том, что servers карта будет отражать изменения, сделанные всеми тремя? 1. pub…
28 авг '13 в 17:04
2 ответа

Почему нет параллельной хэш-карты с результатом операции? А каков вариант использования putIfAbsent?

Я углубился в параллелизм и действительно изо всех сил пытался понять некоторые проекты, используемые в параллельных структурах данных, то есть параллельной хэш-карте. Есть некоторые заявления, которые я сделал, и вопросы, выделенные жирным шрифтом,…
15 мар '17 в 19:18
2 ответа

Итерация ConcurrentHashmap

Мой текущий код выполняет итерацию ConcurrentHashMap с использованием цикла Java 5 для каждого. В приведенном ниже коде, поскольку неявный итератор является отказоустойчивым, я не сталкиваюсь с ConcurrentModificationException. Map<Long,String>…
3 ответа

Как обрабатывать параллельные обновления и чтения в POJO, хранящемся на карте

Я планирую реализовать простой кэш в памяти для поиска с использованием CHM, который работает не более чем с двумя параллельными потоками. Один поток выполняет итерацию и обновление CHM с использованием итератора, а второй поток читает значения из к…
4 ответа

Использовать элементы из ConcurrentHashMap

Я использую ConcurrentHashMap для буферизации сообщений для веб-сокета. Каждые 200 мс буфер отправляется в одной строке JSON. после этого я хочу удалить запись с карты. Я думаю, это небезопасно, потому что во время foreach в буфер могут приходить но…
2 ответа

Как сделать потокобезопасным основанный на ConcurrentHashMap метод?

В целях обучения параллельности / многопоточности я разрабатываю API-интерфейс для небольших денежных переводов, который будет одновременно вызываться несколькими пользователями. Моя "база данных" ConcurrentHashMap<String, Double>, какая пара …
1 ответ

Почему HashEntry в ConcurrentHashMap является финальным?

Я иду через исходный код ConcurrentHashMap в JDK 7 и у меня мало сомнений. Я уже прошел все вопросы по CHM на StackOverFlow, но не смог найти ответ. Гарантируется ли операция get в CHM для получения правильного значения, выставленного другим потоком…
1 ответ

ConcurrentHashMap гарантирует

У меня есть параллельная хэш-карта в некотором классе обслуживания: class MyClass implements Flushable { private volatile ConcurrentHashMap<Integer, Object> hashMap = ... public void add(int id, Object value) { hashMap.put(id, value); } @Overr…