Изменения

Перейти к: навигация, поиск

Treiber stack

11 байт добавлено, 14:36, 30 сентября 2018
м
Добавление элементов
=== Добавление элементов ===
Запомним, куда указывает голова стека (запишем в локальную переменную <tex>head</tex>). Создадим новый элемент, который хотим добавить в начало стека. Указатель на следующее значение для него — <tex>head</tex>. Попробуем переместить <tex>H </tex> на новый элемент, при помощи <tex>CAS</tex>. Если это удалось — добавление прошло успешно. Если нет, то кто-то другой изменил стек, пока мы пытались добавить элемент. Придется начинать сначала.
== Псевдокод ==
16
правок

Навигация