可以參考我之前的總結(jié) http://m.itdecent.cn/p/991061eafe4d
- waitUntilDone 需要等 selector 執(zhí)行完畢后 執(zhí)行后面代碼
- 自旋鎖(OSSpinLock),優(yōu)先級(jí)反轉(zhuǎn):高優(yōu)先級(jí)一直在忙等導(dǎo)致低優(yōu)先級(jí)無法獲取完成任務(wù)
os_unfair_lock(iOS10開始支持)
OSSpinLock(優(yōu)先級(jí)反轉(zhuǎn),自旋鎖)
dispatch_semaphore
pthread_mutex
dispatch_queue(DISPATCH_QUEUE_SERIAL)
NSLock
NSCondition
pthread_mutex(recursive)
NSRecursiveLock(recursive)
NSConditionLock
@synchronized(mutex遞歸鎖,內(nèi)部生成obj對(duì)應(yīng)的遞歸鎖)