Я пытаюсь создать параллельную LinkedHashMap для многопоточной архитектуры.
Если я использую Collections#synchronizedMap()
, мне придется использовать синхронизированные блоки для итерации. Эта реализация приведет к последовательному добавлению элементов.
Если я использую ConcurrentSkipListMap
, есть ли способ реализовать Comparator
для последовательного хранения, как хранится в связанном списке или очереди.
Я бы хотел использовать встроенные Java-пакеты вместо сторонних пакетов.
EDIT:
В этом параллельном LinkedHashMap
, если ключи - это имя, я хочу расположить ключи в последовательности их прибытия. то есть новое значение будет добавлено либо в начале, либо в конце, но последовательно.
Во время итерации LinkedHashMap
можно добавить с новыми записями или удалить. но итерация должна быть последовательностью, в которой были добавлены записи.
Я понимаю, что при использовании Collections#synchronizedMap()
должен быть реализован синхронизированный блок для итерации, но карта будет модифицируемой (записи могут быть добавлены / удалены) во время итерации.