文章目录
- iOS - 多线程-atomic
- 1. 源码分析
- 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



















