新的读者可能在 同步执行+串行队列 与 同步执行+主队列 (前者可以正常执行,后者产生死锁)会产生疑问
两者的相同地方则都是同步执行不具备开启线程的能力,可以理解为只有一条线程(主线程);
但是例如链接里面的例子- (void)syncMain{};这个方法可以想成是加载到了主线程的主队列里(主队列也是串行队列);其他方法同理;这里说的方法不是方法里的“任务”;
当 同步执行+主队列 这种模式下启动任务时,相当于把任务一又给添加到了主队列里,而且主队列是同步执行,也就相当于syncMain方法在主队列里执行的时候又给主队列加了一个新的任务(任务一),新加的任务一需要syncMain方法完事之后在执行,可syncMain也在等待任务一执行,所以造成了相互等待(死锁);