文章目录 iOS - 多线程-atomic1. 源码分析1.1 `get`方法1.2 `set`方法 2. 一般不使用atomic的原因 iOS - 多线程-atomic atomic用于保证属性setter、getter的原子性操作,相当于在getter和setter内部加了线程同步的锁可以参考源码objc4的objc-accessors.mm它并不能保证使用属性的过程是线程安全的 1. 源码分析 1.1 get方法 1.2 set方法 2. 一般不使用atomic的原因 get、set方法调用频率非常高,太耗性能多线程操作同一个对象场景可能不多,特殊场景实在需要如此的话,完全可以在外面访问属性时进行加锁解锁,而不是直接使用atomic导致所有调用get、set方法都需要加锁、解锁 @oubijiexi