01-iOS多线程 ——图解死锁

死锁

- 死锁问题,是iOS开发中必须要理解的问题,可能光看一些讲解死锁的代码并不是很容易理解。我制作了下面这幅图来帮助更好的理解。

不管是主线程还是其他线程死锁的原理都是相同的。在串行队列中,当线程开始执行block1时,必然要执行里面的block2,而由于是串行队列,block2只能等block1执行完才能执行(先进先出),这样block1和block2线程的执行就会互相等待,造成死锁。


如果需要了解死锁的测试代码和一些GCD多线程的问题。可以看这位小哥的文章,http://www.jianshu.com/p/33151a5bac28(写的很好,转载请注明出处!)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 从哪说起呢? 单纯讲多线程编程真的不知道从哪下嘴。。 不如我直接引用一个最简单的问题,以这个作为切入点好了 在ma...
    Mr_Baymax阅读 2,831评论 1 17
  • 转载的一位大牛的GCD死锁分析感觉很不错,在此分享(http://www.cnblogs.com/LDSmallC...
    STONEsh阅读 140评论 0 0
  • 多线程 在iOS开发中为提高程序的运行效率会将比较耗时的操作放在子线程中执行,iOS系统进程默认启动一个主线程,用...
    郭豪豪阅读 2,617评论 0 4
  • GCD是苹果推出的一套从底层线程编程中抽象出的一种基于队列来管理任务的方式。相对于直接在线程上执行任务,使用GCD...
    流水_事阅读 506评论 0 0
  • 前言 嘿嘿嘿,精品。 概述 全称是Grand Central Dispatch,可译为“牛逼的中枢调度器”。纯C语...
    Ostkaka丶阅读 1,113评论 0 12