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