Аппаратная атомарность обеспечивается аппаратурой, а программная — программным кодом. 2
Аппаратная атомарность достигается за счёт использования особых машинных инструкций, атомарность выполнения которых гарантируется аппаратурой. 2 Например, команды процессора обладают свойством атомарности в отношении внешних прерываний: внешнее прерывание не может быть принято, пока не закончится выполнение текущей команды. 4
Программная атомарность реализуется с помощью специальных средств межпрограммного взаимодействия, таких как мьютекс или семафор. 1 Программные средства обеспечения атомарности включают два этапа: блокировку ресурса и выполнение самой операции. 1 Блокировка представляет собой атомарную операцию, которая либо предоставляет ресурс в пользование потоку, либо сообщает потоку о том, что ресурс уже используется другим потоком или процессом (занят). 2