iOS——atomic和nonatomic区别及内部实现

iOS开发中使用@property声明属性时,经常用到atomic与nonatomic两个关键字,atomic与nonatomicd的主要区别就是系统自动生成的getter/setter方法不一样

1、atomic用于保证属性setter、getter的原子性操作,相当于在getter和setter内部加了线程同步的锁,它并不能保证使用属性的过程是线程安全的,参考源码:objc4的objc-accessors.mm

自旋锁

iOS——atomic和nonatomic区别及内部实现iOS——atomic和nonatomic区别及内部实现