当前位置:   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

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/486546
推荐阅读
相关标签
  

闽ICP备14008679号