2016-02-24 6 views
-1

Я ищу быструю реализацию, поддерживающую несколько потоков для хранения отображения из целых чисел в целые числа или двойные. Я пробовал ConcurrentHashMap, но не впечатлен коэффициентом ускорения. Я также думаю, что я мог бы реализовать один сам, если это не так уж плохо.быстрый неблокирующий hashmap <Integer, Integer> или hashmap <Integer, Double> в Java?

+0

Вы действительно *** действительно *** не должны пытаться реализовать параллельную реализацию hashmap самостоятельно. '' ConcurrentHashMap'' действительно *** действительно *** хорош в этом. –

+0

Скорее всего, узкое место вашей реализации происходит не от '' ConcurrentHashMap'', а от других факторов, таких как чтение дисков, плохая синхронизация в другом месте ... –

+0

В моем случае это довольно просто. Предположим, у меня есть массив целых чисел или двойников. Я создал один раз и изменил длину или около того. Я хотел бы иметь несколько потоков, работающих в массиве. При каждой операции поток просто меняет значение массива. Я бы хотел иметь около 16-64 потоков, а массив -> 64000, поэтому я думаю, что столкновений неплохо. –

ответ

0

Поскольку размер фиксированный, вы можете использовать AtomicIntegerArray или AtomicDoubleArray от Guava.

+0

Большое спасибо. Любые другие реализации? Я сравню их в целом, чтобы увидеть, какой из них хорош для моей цели. –

 Смежные вопросы

  • Нет связанных вопросов^_^