1:nil,NIL,NSNULL有什么区别?
nil,NIL可以说是等价的,都代表内存中一块空地址;NSNULL代表一个指向nil的对象
2:如何实现一个线程安全的NSMutableArray?
NSMutaleArray是线程不安全的,当有多个线程同时对数组进行操作的时候可能导致崩溃或数据错误
|线程锁:使用线程锁对数组读写时进行加锁
|派发队列:多用派发队列,少用同步锁中指出:使用“串行同步队列”(serial synchronization
queue),将读取操作及写入操作都安排在同一个队列里,即可保证数据同步。而通过并发队列,结合GCD的栅栏块(barrier)来不仅实现数据同步线程安全,还比串行同步队列方式更高效
3.atomic修饰的属性时绝对安全的吗?为什么?
不是,所谓的安全只是局限于Setter,Getter的访问器方法而言的,你对他做Release的操作是不会受影响的。这个时候就容易崩溃