面试复习-多线程

可以参考我之前的总结 https://www.jianshu.com/p/991061eafe4d

  1. waitUntilDone 需要等 selector 执行完毕后 执行后面代码
  2. 自旋锁(OSSpinLock),优先级反转:高优先级一直在忙等导致低优先级无法获取完成任务

os_unfair_lock(iOS10开始支持)
OSSpinLock(优先级反转,自旋锁)
dispatch_semaphore
pthread_mutex
dispatch_queue(DISPATCH_QUEUE_SERIAL)
NSLock
NSCondition
pthread_mutex(recursive)
NSRecursiveLock(recursive)
NSConditionLock
@synchronized(mutex递归锁,内部生成obj对应的递归锁)

你可能感兴趣的:(面试复习-多线程)