死鎖
- 死鎖問題,是iOS開發(fā)中必須要理解的問題,可能光看一些講解死鎖的代碼并不是很容易理解。我制作了下面這幅圖來幫助更好的理解。

不管是主線程還是其他線程死鎖的原理都是相同的。在串行隊(duì)列中,當(dāng)線程開始執(zhí)行block1時(shí),必然要執(zhí)行里面的block2,而由于是串行隊(duì)列,block2只能等block1執(zhí)行完才能執(zhí)行(先進(jìn)先出),這樣block1和block2線程的執(zhí)行就會(huì)互相等待,造成死鎖。
如果需要了解死鎖的測試代碼和一些GCD多線程的問題。可以看這位小哥的文章,http://www.itdecent.cn/p/33151a5bac28(寫的很好,轉(zhuǎn)載請(qǐng)注明出處!)