当前位置:   article > 正文

iOS - 多线程-atomic

iOS - 多线程-atomic

iOS - 多线程-atomic

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

1. 源码分析

1.1 get方法

1.2 set方法

2. 一般不使用atomic的原因

  1. getset方法调用频率非常高,太耗性能
  2. 多线程操作同一个对象场景可能不多,特殊场景实在需要如此的话,完全可以在外面访问属性时进行加锁解锁,而不是直接使用atomic导致所有调用getset方法都需要加锁、解锁

@oubijiexi

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/486546
推荐阅读
相关标签
  

闽ICP备14008679号