1.同步塊@synchronization(obj)--由於同一個鎖的同步塊必須按順序執行,因此濫用會下降代碼效率;若是頻繁加鎖,git
2.NSLock或NSRecursiveLock(遞歸鎖)--極端狀況下也會出現死鎖。github
3.GCD--串行同步隊列/併發隊列 詳細代碼:https://github.com/shengguoqiang/GCD.git併發