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

1 ответ

Приложения, использующие коллекции Java

Есть ли способ найти какое-нибудь Java-приложение, которое использует определенную коллекцию. Я реализовал свой собственный список одновременных пропусков и хотел "заменить" его в приложение, где ConcurrentSkipListSet коллекций Java используется, чт…
2 ответа

Как правильно использовать concurrentskiplistmap?

Пытаясь использовать одновременную карту списка пропуска. У меня были проблемы с тем, как правильно использовать синхронизированную связанную хэш-карту, поэтому я решил попробовать одновременную карту списка пропусков. У меня такая же проблема. прив…
1 ответ

Почему есть ConcurrentSkipListMap, но нет несинхронизированной версии?

Большинство классов в Java Collections Framework по умолчанию не синхронизированы, но могут быть преобразованы во что-то синхронизированное, если вам нужно, чтобы они были поточно-ориентированными. Синхронизация снижает производительность, поэтому, …
0 ответов

Почему итератор ConcurrentSkipListMap в Java жадно кэширует следующий элемент?

Я просматривал ConcurrentSkipListMap в Java, потому что это увлекательная структура данных, и, кажется, она применима к моему использованию, но итератор обладает некоторым интересным поведением, которое мне кажется нелогичным. Возьмем для примера сл…
1 ответ

Параллельный набор для C++?

Я ищу структуру данных без блокировки в C++, чтобы заменить следующее: pthread_mutex_lock(plock); set.insert(element); pthread_mutex_unlock(plock); Набор должен поддерживать .insert() а также .size() с максимальной сложностью O(logN), имеет итератор…
4 ответа

Ошибка несовместимых типов при попытке создать карту карт

Я пытаюсь создать карту карт, используя ConcurrentSkipListMap, Если я создам простой пример карты, это будет хорошо: Map<Integer, Integer> mmap2 = new ConcurrentSkipListMap<Integer, Integer>(); Как только я пытаюсь создать карту карт, я …
28 авг '13 в 12:28
0 ответов

ConcurrentSkipListSet полагается на свой компаратор для обеспечения уникальности?

По-видимому, Java ConcurrentSkipListSet полагается на предоставленный компаратор, чтобы определить, есть ли уже элемент в списке. Это, конечно, выглядит для меня как ошибка, но, возможно, это особенность? Если так, то это, конечно, не очень интуитив…
31 авг '16 в 02:32
2 ответа

Java ConcurrentSkipListMap кетсета для массива

Я пытаюсь использовать следующую строку, чтобы получить массив ключей из ConcurrentSkipListMap: myArray=(String[])myMap.keySet().toArray(new String[myMap.size()]); Но это не сработало, все элементы в массиве результатов одинаковы, почему?
24 июл '13 в 17:13
1 ответ

Как удалить элементы для ключа в ConcurrentSkipListMap?

У меня есть ConcurrentSkipListMap, Мне нужно удалить элементы ниже key, Вот как я могу это сделать: private ConcurrentNavigableMap<Double, MyObject> myObjectsMap = new ConcurrentSkipListMap<>(); //... myObjectsMap = myObjectsMap.tailMap(…
0 ответов

ConcurrentSkipListMap добавить компаратор, определенный в универсальном классе

У меня есть этот класс: public abstract class Orderable<ID, T extends Comparable, V extends Orderable> implements Comparator<V>{ public abstract ID getId(); public abstract T getOrderParam(); public int compare(V o1, V o2) { int compared…
18 июн '18 в 07:36
3 ответа

Является ли ConcurrentSkipListMap положил метод потокобезопасным?

Недавно во время изучения ConcurrentSkipListMap Я прошел его реализацию и обнаружил, что его метод put не является потокобезопасным. Это внутренне вызывает doPut который на самом деле добавляет элемент. Но я обнаружил, что этот метод не использует к…
1 ответ

Проблема с ConcurrentSkipListSet remove()

Я не уверен, есть ли проблема с java.util.concurrent.ConcurrentSkipListSet? Я пытаюсь добавить некоторые объекты в ConcurrentSkipListSet (порядок поддерживается моим собственным компаратором). После добавления я изменяю состояние некоторых объектов.…
17 май '17 в 13:29
0 ответов

Как удалить элемент из ConcurrentSkipListMap?

Предполагая, что у меня есть карта: ConcurrentSkipListMap[Key, Resource] resourcePool Чтобы получить ресурс: Entry<Key, Resource> candidate = resourcePool.headMap(key, true).pollLastEntry(); if (candidate == null) { return new Resource(); } re…
1 ответ

Является ли ConcurrentSkipListMap.compute() безопасным для относительных обновлений?

В Javadoc для ConcurrentSkipListMap.compute(K, BiFunction) говорится: Пытается вычислить сопоставление для указанного ключа и его текущего сопоставленного значения (или ноль, если текущего сопоставления нет). Функция НЕ гарантированно применяется од…
0 ответов

Записи Java ConcurrentSkipListMap заблокированы при навигации

Приведенный ниже класс, кажется, застрял в методе lrPoints, когда используется с Map, предоставленной клиентом. На данный момент делается вывод, что либо lrPoint выполняет бесконечный цикл, либо существует тупик. Я не могу воспроизвести ошибку, но м…
13 май '18 в 11:47
1 ответ

ConcurrentSkipListMap приведен в порядок

У меня есть ConcurrentSkipListMap ключей и значений. Очень важно соблюдать порядок клавиш. Проблема появляется, когда я пытаюсь вставить новое значение в определенную позицию. Единственный способ вставить значение - это метод put(), который помещает…
1 ответ

Атомарный способ переупорядочить ключи в ConcurrentSkipListMap / ConcurrentSkipListSet?

Резюме этого поста: у меня есть набор заказанных товаров, чей порядок может меняться со временем. Мне нужно иметь возможность перебирать этот набор из нескольких потоков, каждый из которых может также захотеть обновить порядок элементов. Например, н…
1 ответ

Как я могу перебрать ConcurrentSkipListMap, сохраняя слабую согласованность

Предположим, у меня есть несколько потоков, добавляющих и удаляющих записи из ConcurrentSkipListMap, У меня есть другой поток, который в предопределенные периоды работает над сбором и обновляет его данные с помощью итератора. Как это можно сделать с…
10 янв '16 в 07:07
0 ответов

Как создать одновременно отсортированную карту на основе значения?

Мне нужно создать параллельную карту с <String, AtomicLong> параметры. Карта должна быть отсортирована по ее значению, когда я увеличиваю AtomicLong, он должен также сбалансировать себя. Проблема с ConcurrentSkipListMap является то, что он не …
3 ответа

Java Concurrent коллекция для нескольких записей и частых чтений

Я хочу использовать карту значения ключа на основе компаратора. Это будет чтение и редкая операция записи (один раз в 3 месяца через планировщик). Первоначальная загрузка коллекции будет выполнена при запуске приложения. Также обратите внимание, что…