Атомарность
атомный (по умолчанию)
По умолчанию используется атомарное: если вы ничего не печатаете, ваше свойство атомарное. Атомарное свойство гарантировано, что если вы попытаетесь прочитать из него, вы получите верное значение. Это не дает никаких гарантий относительно того, каким может быть это значение, но вы получите хорошие данные, а не только ненужную память. Это позволяет вам делать, если у вас есть несколько потоков или несколько процессов, указывающих на одну переменную, один поток может читать, а другой поток может писать. Если они попадают в одно и то же время, поток чтения гарантированно получит одно из двух значений: либо до изменения, либо после изменения. То, что не дает вам атомарность, это какая-то гарантия того, какие из этих ценностей вы можете получить. Atomic обычно путают с поточностью потоков, и это не правильно. Вы должны гарантировать безопасность вашей нити другими способами. Однако atomic гарантирует, что если вы попытаетесь читать, вы получите какое-то значение.
неатомической
С другой стороны, неатомарное, как вы, вероятно, можете догадаться, просто означает «не делайте этого атомарного материала». То, что вы теряете, это гарантия того, что вы всегда что-то получите. Если вы попытаетесь прочитать во время записи, вы можете получить данные с мусором. Но, с другой стороны, вы идете немного быстрее. Поскольку атомарные свойства должны творить чудеса, чтобы гарантировать возвращение значения, они немного медленнее. Если это свойство, к которому вы часто обращаетесь, вы можете перейти к неатомному, чтобы убедиться, что вы не понесете этот штраф за скорость.
Доступ
вежливость https://academy.realm.io/posts/tmi-objective-c-property-attributes/
Атрибуты свойства атомарности (атомарные и неатомарные) не отражены в соответствующем объявлении свойства Swift, но гарантии атомарности реализации Objective-C все еще сохраняются, когда к импортированному свойству обращаются из Swift.
Итак - если вы определите атомарное свойство в Objective-C, оно останется атомарным при использовании Swift.
любезность
https://medium.com/@YogevSitton/atomic-vs-non-atomic-properties-crash-course-d11c23f4366c