Изменения

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

Стек Трайбера

213 байт добавлено, 11:20, 20 ноября 2018
Идеи
=== Идеи ===
Переходя от требований к конкретной реализации, введем следующие условия:
#Добавлять новый элемент только если увереныубедившись, что добавляемый момент окончания операции, указатель на голову стека остался тот же. Другими словами, элемент — единственный с момента начала , выбранный нами в качестве next на момент окончание операциивсе еще актуален.#При удалении элемента, перед его возвратом, нужно быть уверенным,что никакой другой поток не добавил новый элемент мы действительно удаляем голову стека и в стек с начала операциикачестве новой головы предъявляем H.next
=== Структура стека ===
Как всегда каждый элемент стека содержит информацию о хранимом значении и указатель на следующий элемент. Также имеем указатель на голову стека <tex>H</tex>, который будем изменять при помощи операции <tex>CAS</tex>. Если при этом голова указывает на <tex>null</tex>, то стек — пуст.
Анонимный участник

Навигация