Подтвердить что ты не робот

Как реализовать список блокировки без блокировки

Мне нужно реализовать незашифрованный список пропусков. Я пытался искать бумаги. К сожалению, все, что я нашел, это блокированные одиночные списки (во многих вариантах). Однако как реализовать запретный список пропусков?

4b9b3361

Ответ 1

Списки пропусков без блокировки описаны в книге Искусство многопроцессорного программирования и технический отчет Практическая свобода блокировки, основанная на докторской диссертации по этому вопросу. Обсуждение списка пропуска начинается на стр. 53. Пример реализации, основанный на этих источниках, включен в этот проект кода Google.

Есть связанные обсуждения, ссылки на литературу и реализации (не обязательно блокировки) в SO-вопросе Пропустить Список против двоичного дерева и Пропустить списки - когда-либо использовали их?.

Ответ 2

В этом документе представлен бесплатный и безжизненный список пропусков. Это просто реализовать - я реализовал это несколько недель назад в рамках Intel Threading Challenge 2010 (см. Вкладку SkipList на полпути вниз по странице).

Java включает в себя реализацию параллельного списка пропуска, java.util.concurrent.ConcurrentSkipListMap.