[Brief] iOS atomic内部实现

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

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


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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。