Другие проблемы синхронизации: ABA, взаимная блокировка

Проблема ABA возникает, когда множество потоков (или процессов) обращаются к разделяемой памяти поочерёдно и без синхронизации.

Решения:

  • Добавить дополнительные биты «метки» в проверяемое значение (спинлоки)
  • Правильный, но дорогой подход состоит в использовании промежуточных узлов, которые не являются пользовательскими данными (синхронизация)
  • «Укрупнённые» атомарные операции
  • Сравнение с обменом

Ситуация в многозадачной среде илиСУБД, при которой несколько процессов находятся в состоянии бесконечного ожидания ресурсов, занятых самими этими процессами.