Вопросы с тегом 'aba'

Проблема A-B-A относится к ситуации, когда переменная изменяется с A на B, а затем обратно на A. Таким образом, для другого потока невозможно обнаружить, что переменная действительно была изменена.
1
ответ

Является ли этот пример указателя опасности ошибочным из-за проблемы с ABA?

В книге С++ Concurrency в действии автор привел пример использования указателя опасности для реализации структуры данных стека блокировки, Часть кода выглядит следующим образом: std::shared_ptr<T> pop() { std::atomic<void*>& hp=...
задан 14 февр. '18 в 12:26
1
ответ

Почему автоматическая сборка мусора устраняет проблемы ABA?

Я исследовал проблему ABA в параллелизме в практике книги, в Википедии, и я прочитал следующий пост Поскольку я понимаю основную причину проблемы ABA, то в algoritm мы проверяем это состояние так же, как и раньше, но алгоритм подразумевает, что сос...
задан 17 марта '17 в 12:46
1
ответ

Блокировка Идея реализации свободного стека - в настоящее время нарушена

Я придумал идею, которую я пытаюсь реализовать для стека, свободного от блокировки, который не полагается на подсчет ссылок для решения проблемы ABA, а также правильно обрабатывает восстановление памяти. Это похоже на концепцию RCU и опирается на дв...
задан 11 июня '18 в 20:54
0
ответов

Решите проблему параллелизма ABA с использованием C++ до 20

На CppCon 2014 Херб Саттер описал аккуратное решение проблемы ABA с использованием атомного общего ptr. Резюме этого решения можно найти в нижней части этой статьи. Однако частичная специализация atomic на shared_ptr является особенностью входящего ...
задан 12 февр. '18 в 16:41
2
ответов

ABA с транзакционной памятью программного обеспечения Clojure

Мне было интересно, что у Clojure есть встроенное решение для проблемы ABA. Я создавал пример, который показывает эту проблему, но почему-то Clojure обнаруживает изменения. Это потому, что транзакции Clojure сравнивают ссылки, а не значения? Мой пр...
задан 10 мая '17 в 16:33