Lock-Free Concurrent Linked List в Java
Я хотел бы использовать Связанный список, как описано в этом документе.
Однако я не нашел Java-реализации в Интернете.
Если Java-реализация вышеупомянутого Связанного списка не существует, я думаю, что я бы использовал java.util.concurrent.ConcurrentLinkedQueue<E>
. Это хороший выбор (на самом деле это не связанный список)?
Если это нехороший выбор, знает ли кто-нибудь о надежной параллельной (потокобезопасной) безжизненной (без блокировки) реализации Linked List в Java?
Ответы
Ответ 1
ConcurrentLinkedQueue
- превосходная свободная очередь для блокировки и делает то, что может сделать параллельный одиночный связанный список.
Небольшое предупреждение: если вы не используете опрос или просмотр и только итератор() (+.remove()), он будет утечка памяти.
Это выдающийся Queue
.