一 . nonatomic 与 atomic 区别,atomic是绝对线程安全吗 ?常用的锁有那些?
答: nonatomic 是非原子锁,atomic 是原子锁,atomic 比nonatomic要安全。 atomic 并不是绝对的线程安全,在同时对一个成员变量执行setter和getter方法时会出现变化。这时候需要对操作进行加锁。
常见的锁有 (几种常用的锁总结):
1 @synchronized
2 NSLock 对象锁
3 NSRecursiveLock 递归锁
4 NSConditionLock 条件锁
5 pthread_mutex 互斥锁(C语言)
6 dispatch_semaphore 信号量实现加锁(GCD)
7 OSSpinLock (暂不建议使用,原因参见这里)
二 、 Runloop 的有几种常见模式 ?
网友评论