可以參考我之前的總結(jié) http://www.reibang.com/p/991061eafe4d
- waitUntilDone 需要等 selector 執(zhí)行完畢后 執(zhí)行后面代碼
- 自旋鎖(OSSpinLock)判沟,優(yōu)先級(jí)反轉(zhuǎn):高優(yōu)先級(jí)一直在忙等導(dǎo)致低優(yōu)先級(jí)無(wú)法獲取完成任務(wù)
os_unfair_lock(iOS10開(kāi)始支持)
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)的遞歸鎖)