iOS知识点-3.请说明并比较以下关键词:atomtic, nonatomic

Objective-C Basics
  1. 请说明并比较以下关键词:atomtic, nonatomic
  • atomic 修饰的对象会保证setter和getter的完整性,任何线程对其访问都可以得到一个完整的初始化后的对象。因为要保证操作完成,所以速度慢。它比nonatomic安全,但也并不是绝对的线程安全,例如多个线程同时调用set和get就会导致获得的对象值不一样。绝对的线程安全就要用关键词synchronized.
  • nonatomic 修饰的对象不保证setter和getter的完整性,所以多个线程对它进行访问,它可能会返回未初始化的对象。正因为如此,它比atomic快,但也是线程不安全的。
上一题 目录 下一题

你可能感兴趣的:(iOS知识点-3.请说明并比较以下关键词:atomtic, nonatomic)