As operações atômicas bloquearão outros threads?

Estou tentando estabelecer um conceito "atômico vs não atômico" em minha mente. Meu primeiro problema é que não consegui encontrar "analogia da vida real" nisso. Como o relacionamento cliente / restaurante sobre operações atômicas ou algo semelhante.

Também gostaria de aprender sobre como as operações atômicas se colocam na programação de thread-safe.

Nesta postagem do blog;http://preshing.com/20130618/atomic-vs-non-atomic-operations/ é mencionado como:

Uma operação que atua na memória compartilhada é atômica se for concluída em uma única etapa em relação a outros encadeamentos.Quando um armazenamento atômico é executado em uma variável compartilhada, nenhum outro encadeamento pode observar a modificação pela metade. Quando uma carga atômica é executada em uma variável compartilhada, ela lê todo o valor como apareceu em um único momento no tempo. Cargas e reservas não atômicas não oferecem essas garantias.

Qual é o significado de "nenhum outro segmento pode observar a modificação pela metade"?

Isso significa que o thread aguardará até que a operação atômica seja concluída? Como esse thread sabe sobre essa operação é atômica? Por exemplo, no .NET, eu entendo que, se você bloquear o objeto, define um sinalizador para bloquear outros threads. Mas e o atômico? Como outros threads sabem a diferença entre operações atômicas e não atômicas?

Além disso, se a declaração acima for verdadeira, todas as operações atômicas são seguras para threads?

questionAnswers(5)

yourAnswerToTheQuestion