整個《面試題》都是對[2017年6月iOS招人心得(附面試題)]的整理
1.nonatomic和atomic的區(qū)別
nonatomic和atomic用來決定編譯器生成的getter和setter操作是否為原子操作。
2.atomic是絕對的線程安全么?
atomic不是絕對的線程安全。atomic的本意是指屬性的存取方法是線程安全的,并不保證整個對象是線程安全的。如:
聲明一個NSMutableArray的原子屬性stuff,此時self.stuff 和 self.stuff = otherstuff都是線程安全的。但是使用[self.stuff objectAtIndex:index]就不是線程安全的。需要用互斥鎖來保證線程安全性。