1:nil,NIL,NSNULL有什么區(qū)別?
nil,NIL可以說是等價的,都代表內存中一塊空地址;NSNULL代表一個指向nil的對象
2:如何實現一個線程安全的NSMutableArray?
NSMutaleArray是線程不安全的,當有多個線程同時對數組進行操作的時候可能導致崩潰或數據錯誤
|線程鎖:使用線程鎖對數組讀寫時進行加鎖
|派發(fā)隊列:多用派發(fā)隊列,少用同步鎖中指出:使用“串行同步隊列”(serial synchronization
queue),將讀取操作及寫入操作都安排在同一個隊列里,即可保證數據同步。而通過并發(fā)隊列,結合GCD的柵欄塊(barrier)來不僅實現數據同步線程安全,還比串行同步隊列方式更高效
3.atomic修飾的屬性時絕對安全的嗎?為什么?
不是,所謂的安全只是局限于Setter,Getter的訪問器方法而言的,你對他做Release的操作是不會受影響的。這個時候就容易崩潰