Будут ли атомарные операции блокировать другие потоки?

Я пытаюсь придумать концепцию «атомное против неатомного». Моя первая проблема в том, что я не смог найти «реальной аналогии» по этому вопросу. Например, отношения между клиентом и рестораном по атомным операциям или что-то подобное.

Также я хотел бы узнать о том, как атомарные операции помещаются в поточно-ориентированное программирование.

В этом сообщении в блоге;http://preshing.com/20130618/atomic-vs-non-atomic-operations/ это упоминается как:

Операция, действующая на разделяемую память, является атомарной, если она завершается за один шаг относительно других потоков.Когда атомарное хранилище выполняется для совместно используемой переменной, никакой другой поток не может наблюдать модификацию, наполовину завершенную, Когда атомная загрузка выполняется для совместно используемой переменной, она считывает все значение так, как оно появилось в один момент времени. Неатомные грузы и магазины не дают таких гарантий.

Что означает "никакой другой поток не может наблюдать модификацию наполовину завершенную"?

Это означает, что поток будет ждать, пока не будет выполнена атомарная операция? Как этот поток узнал об этой операции атомарной? Например, в .NET я могу понять, если вы блокируете объект, вы устанавливаете флаг, чтобы блокировать другие потоки. Но как насчет атомной? Как другие потоки знают разницу между атомарными и неатомарными операциями?

Кроме того, если приведенное выше утверждение верно, все атомарные операции являются потокобезопасными?