¿Por qué las propiedades de IBOutlet de Cocoa son atómicas por defecto y las de Cocoa Touch no lo son?

Si arrastra una nueva salida de Interface Builder a un archivo de interfaz (encabezado), Xcode 4.6 creará automáticamente una propiedad para usted ...

En iOS (Cocoa Touch) se verá así:

@property (weak, nonatomic) SomeClass *someProperty; //nonatomic accessors

Mientras que en OS X (Cocoa) se verá así:

@property (weak) SomeClass *someProperty; //atomic accessors (implicitly)

¿Por qué?

EDITAR: No pregunto qué hace el atómico o qué no lo hace, soy muy consciente de la directiva de sincronización y del mutex subyacente (o bloqueo o lo que sea) que garantiza la atomicidad del configurador y del captador. Sé que en iOS, los accesores no son atómicos porque UIKit no es seguro para subprocesos, por lo que no se gana nada al hacerlos atómicos, es solo una pérdida de tiempo del procesador y la vida útil de la batería. Estoy hablando del caso predeterminado aquí, los programadores que saben lo que están haciendo sabrán cuándo necesitan que sus accesores sean atómicos.

Así que estoy preguntando por qué son atómicos por defecto en OS X. Tenía la impresión de que Appkit tampoco era seguro para subprocesos. Y tener accesores atómicos no garantiza la seguridad de los subprocesos, incluso me atrevería a decir que va en sentido opuesto, ya que puede dar la ilusión de seguridad de los subprocesos a los programadores novatos y hacer más difícil el seguimiento de errores en aplicaciones concurrentes al diferir los bloqueos a un tiempo posterior y al hacerlo, haciéndolos más difíciles de rastrear. Y solo porque las computadoras de escritorio sean relativamente poderosas no significa que se deban desperdiciar recursos (tenga en cuenta que no estoy hablando de optimización prematura aquí), y como es lógico que los ingenieros de Apple sean programadores razonables, debe haber una buena razón por la que tienen Decidió hacer que las propiedades sintetizaran los accesores atómicos por defecto.

Respuestas a la pregunta(4)

Su respuesta a la pregunta