Описание тега atomicity
В параллельном программировании операция (или набор операций) является атомарной, линеаризуемой, неделимой или непрерываемой, если остальной части системы кажется, что она происходит мгновенно. Атомарность - это гарантия изоляции от параллельных процессов. Кроме того, атомарные операции обычно имеют определение "успех или сбой" - они либо успешно изменяют состояние системы, либо не имеют видимого эффекта.
Атомарность обычно обеспечивается за счет взаимного исключения, будь то на аппаратном уровне, основанном на протоколе когерентности кеша, или на программном уровне, использующем семафоры или блокировки. Таким образом, атомарная операция на самом деле не происходит мгновенно. Преимущество заключается в внешнем виде: система ведет себя так, как если бы каждая операция происходила мгновенно, разделенная паузами. Из-за этого пользователь может игнорировать детали реализации, кроме тех случаев, когда они влияют на производительность. Если операция не является атомарной, пользователю также потребуется понимать и справляться со спорадическим посторонним поведением, вызванным взаимодействием между параллельными операциями, которое по своей природе, вероятно, будет трудно воспроизвести и отладить.
Источник: Википедия