首先我们要找到runtime源码
runtime源码地址
全局搜索atomic可以找到objc-accessors.mm
文件,一看名字就是取值相关作用的文件。如下图
第55行可以看到进行了一次判断,如果是 非
atomic
的情况直接返回。如果是
atomic
的情况,我们看到从PropertyLocks
中取出了一个自旋锁spinlock_t
.进行加锁操作。
首先我们要找到runtime源码
runtime源码地址
全局搜索atomic可以找到objc-accessors.mm
文件,一看名字就是取值相关作用的文件。如下图
atomic
的情况直接返回。atomic
的情况,我们看到从PropertyLocks
中取出了一个自旋锁spinlock_t
.进行加锁操作。