ответ от прапорщика:
https://ru.wikipedia.org/wiki/Spinlock
Любая программа - это состояние, события, и обработка. Обрабатывают процессоры. У процессоров есть атомарные операции.
У последовательности (секвенция - в музыке) состояния нет. Состояние есть у ячейки памяти.
Последовательность в SQL - это синтаксис для атомарного перебора целых чисел.
В рамках int64 можно задать диапазон, увеличение или уменьшение, шаг, зацикленность.
Результат атомарного перебора можно исползовать как иДЕНТИфикатор сущности в программе. Можно не использовать.
Можно использовать значение одной последовательности в нескольких однородных сущностях - я так делаю иногда. Например, ID внутренних и внешних транзакций у меня из одной последовательности.
У последовательности может быть глобальная область видимости, или только для текущего соединения.
Можно не записывать результат перебора в базу, а использовать в хранимых процедурах.
С автоинкрементом доступа к атомарной операции нет. Можно только увеличить внутреннюю переменную, и записать результат в поле главного ключа таблицы.