Почему я должен использовать неатомические свойства?

Возможный дубликат:
Objective-C свойства: атомный и неатомный

По умолчанию все свойства в Objective-C являются атомарными. Если мне нужно неатомическое, я должен его объявить. Но мне интересно, почему я должен использовать неатомические? Даже если мои приложения не многопоточны, атомам кажется, что это можно сделать. Каковы преимущества неатомических?

Ответ 1

Короткий ответ - это производительность. Если вы объявите свойства как atomic, синтезированные аксессоры будут использовать блокировки, чтобы гарантировать, что значения будут полностью восстановлены и установлены. Если вам это не нужно, например, ваше приложение однопоточно, вы несете штраф за эти блокировки без получения выгоды.