Другие проблемы синхронизации: ABA, взаимная блокировка
Проблема ABA возникает, когда множество потоков (или процессов) обращаются к разделяемой памяти поочерёдно и без синхронизации.
Решения:
- Добавить дополнительные биты «метки» в проверяемое значение (спинлоки)
- Правильный, но дорогой подход состоит в использовании промежуточных узлов, которые не являются пользовательскими данными (синхронизация)
- «Укрупнённые» атомарные операции
- Сравнение с обменом
Ситуация в многозадачной среде илиСУБД, при которой несколько процессов находятся в состоянии бесконечного ожидания ресурсов, занятых самими этими процессами.