死锁
- 死锁问题,是iOS开发中必须要理解的问题,可能光看一些讲解死锁的代码并不是很容易理解。我制作了下面这幅图来帮助更好的理解。
不管是主线程还是其他线程死锁的原理都是相同的。在串行队列中,当线程开始执行block1时,必然要执行里面的block2,而由于是串行队列,block2只能等block1执行完才能执行(先进先出),这样block1和block2线程的执行就会互相等待,造成死锁。
如果需要了解死锁的测试代码和一些GCD多线程的问题。可以看这位小哥的文章,http://www.jianshu.com/p/33151a5bac28(写的很好,转载请注明出处!)