Существует ли предварительно реализованный связанный список, который был бы реализован с использованием идентификаторов вместо индексов массива?
МОТИВАЦИЯ: здесь я хочу получить связанный список из ячеек ведьм, который можно удалить несколькими потоками в parellel. Проблема с Java LinkedList заключается в том, что ссылки являются индексными ссылками.
Чтобы уточнить: скажем, у меня есть три потока и LinkedList из трех ячеек. Поток номер один производит для ячейки номер один (или 0, но в любом случае ...), ... и поток номер три производит для ячейки номер 3. Таким образом, в основном потоки производят вещи для своих ячеек, которые работают как буферы. Теперь, если поток номер 2 удаляет ячейку номер два (по бизнес-логической причине), ссылка на поток № 3 меняется на # 2. Естественно, этого нельзя сделать, если поток № 3 все еще работает с ячейкой № 3, поэтому необходима синхронизация, и даже если поток № 3 в настоящее время не использует свою ячейку, потоку все равно нужно сообщить, что он будет использовать ячейку. №2 отныне.
Решение: если связанный список будет реализован с использованием идентификаторов вместо ссылок на индексы массива, другие потоки никогда не увидят изменений, то есть ячейка номер два может быть безопасно удалена, поскольку поток № 3 будет использовать свою ячейку примерно так connectedlist.add (id 3, ячейка C) вместо этого добавить (индекс int, ячейка C).
Полагаю, что-то подобное уже где-то реализовано, но через некоторое время поисковика я не смог его найти. ВСЕ ПОМОЩЬ ЦЕНЫ!