原子属性

属性中的修饰符:

nonatomic非原子属性:

atomic:原子属性:

原子属性(线程安全),针对多线程设计的,默认值。

保证同一时间只有一个线程能够写入(但是同一时间多个线程都可以取值)atomic本身就是一把锁(自旋锁)

单写多读:单个线程写入,多个线程可以读取。

//注意:线程锁所得是代码块,不是其他。是不能访问对应的代码块。

nonatomic和atomic的区别:

atomic:线程安全,乣消耗大量的资源。

nonatomic:线程不安全,适合内存小的移动设备。

iOS开发的建议:

所有属性都声明为nonatomic

尽量避免多线程抢夺同一资源。

尽量将加锁、资源抢夺的业务逻辑交给服务器端处理,减小移动客户端的压力。


属性原子性的原理


注释:原子属性只能保证只读的时候不出问题,但是他不能保证同时读写的时候不出问题。

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

推荐阅读更多精彩内容