[Brief] iOS atomic内部实现

首先我们要找到runtime源码
runtime源码地址

全局搜索atomic可以找到objc-accessors.mm文件,一看名字就是取值相关作用的文件。如下图


第55行可以看到进行了一次判断,如果是 非atomic的情况直接返回。
如果是atomic的情况,我们看到从PropertyLocks中取出了一个自旋锁spinlock_t.进行加锁操作。

你可能感兴趣的:([Brief] iOS atomic内部实现)