01-iOS多線程 ——圖解死鎖

死鎖

- 死鎖問題,是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)注明出處!)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 從哪說起呢? 單純講多線程編程真的不知道從哪下嘴。。 不如我直接引用一個(gè)最簡單的問題,以這個(gè)作為切入點(diǎn)好了 在ma...
    Mr_Baymax閱讀 2,912評(píng)論 1 17
  • 轉(zhuǎn)載的一位大牛的GCD死鎖分析感覺很不錯(cuò),在此分享(http://www.cnblogs.com/LDSmallC...
    STONEsh閱讀 175評(píng)論 0 0
  • 多線程 在iOS開發(fā)中為提高程序的運(yùn)行效率會(huì)將比較耗時(shí)的操作放在子線程中執(zhí)行,iOS系統(tǒng)進(jìn)程默認(rèn)啟動(dòng)一個(gè)主線程,用...
    郭豪豪閱讀 2,721評(píng)論 0 4
  • GCD是蘋果推出的一套從底層線程編程中抽象出的一種基于隊(duì)列來管理任務(wù)的方式。相對(duì)于直接在線程上執(zhí)行任務(wù),使用GCD...
    流水_事閱讀 567評(píng)論 0 0
  • 前言 嘿嘿嘿,精品。 概述 全稱是Grand Central Dispatch,可譯為“牛逼的中樞調(diào)度器”。純C語...
    Ostkaka丶閱讀 1,170評(píng)論 0 12

友情鏈接更多精彩內(nèi)容