2015-06-19 10 views
-2

Мне нужна структура данных без блокировки, которая подтверждает определенные критерии: быстрое, низкое потребление памяти, простое внедрение, упорядоченное. Были найдены и найдены структуры данных, такие как односвязный список, двусвязный список, списки пропуска, но ни один из них не отвечает всем моим критериям. По моему мнению, передовой список будет соответствовать этим критериям. Но я не знаю никакой существующей реализации.Упорядоченный прямой список блокировки, реализованный в C

Есть ли какая-либо готовая к производству реализация прямого списка без блокировки в C для Linux?

+0

Взгляните на 'libavl'. –

+0

Передовой список - это смехотворно незначительное изменение в односвязном списке. Вы просто держите указатели дальше и превью для каждого узла. Почему бы не написать их самостоятельно? Речь идет о простейшем упражнении для кодирования для C. Любое относительное новичка должно хотя бы раз создать что-то подобное. – wallacer

+0

@wallacer Переслать список да, но заблокированный список пересылки? Ты уверен ? –

ответ

1

https://code.google.com/p/nbds/

Там в бета-реализация Lock Free Skiplists здесь. Говорят, что у него нет известных ошибок, и функция завершена.

+0

Я комментирую ниже основного вопроса в своей дискуссии в ответ на @Damon в контексте управления памятью вы можете найти эту ссылку (вторая ссылка). –

+0

А, я не стал читать все ссылки в комментариях. В любом случае этот ответ дает одно возможное и законное решение. Если это не сработает для вашего конкретного случая, оно все равно поможет кому-то другому в будущем, который случится на этом посту, поэтому я думаю, что я его оставлю. – wallacer

+0

Возможно, это действительно поможет кому-то в будущем. В моем случае это базовая линия для анализа возможных решений. Уже известно, и не выполняет главные цели, или, по крайней мере, не все из них. Но все равно спасибо. –

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