面试与问题记录 3

2018-09-04  本文已影响6人  水中的蓝天

一 . 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 的有几种常见模式  ? 

答 : Runloop了解  、 RunLoop认识

上一篇 下一篇

猜你喜欢

热点阅读