原子和非原子属性

  • OC在定义属性时有nonatomicatomic两种选择

  • atomic:原子属性,为setter方法加锁(默认就是atomic)

  • nonatomic:非原子属性,不会为setter方法加锁

  • nonatomicatomic对比

  • atomic:线程安全,需要消耗大量的资源

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

  • iOS开发的建议

  • 所有属性都声明为nonatomic

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

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

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

推荐阅读更多精彩内容

  • OC在定义属性时有nonatomic和atomic两种选择 atomic:原子属性,为setter方法加锁(默认就...
    彬至睢阳阅读 3,660评论 0 1
  • 基础 1. 为什么说Objective-C是一门动态的语言? 2. 讲一下MVC和MVVM,MVP? 3. 为...
    波妞和酱豆子阅读 8,640评论 0 46
  • 线程概述 有些程序是一条直线,起点到终点;有些程序是一个圆,不断循环,直到将它切断一个运行着的程序就是一个进程或者...
    褪而未变阅读 2,454评论 0 0
  • 一、多线程基础 基本概念 进程进程是指在系统中正在运行的一个应用程序每个进程之间是独立的,每个进程均运行在其专用且...
    AlanGe阅读 3,579评论 0 0
  • 前言 Pthread,NSThread,GCD和NSOperation是iOS中多线程的四种实现方案。 一.进程和...
    小李龍彪阅读 3,856评论 1 4