1,原子性(atomic):OC语言中属性设置默认是原子性的,在调用属性的setter方法的时候只能一个一个调用,不会出现多条线程同时调用setter方法,相当于在函数开始和结束加了锁定.这样并发访问属性时性能会变低. 2,非原子性(nonatomic):通常在OC语言中声明属性都是非原子性的,调用setter方法的时候不锁定多个线程可以同时调用属性,这样并发访问时效率会比较高 总结: atomic:setter方法会加锁,线程安全,消耗资源多 nonatomic:setter方法不会加锁,非线程安全,消耗资源少