在主线程(队列)执行如下代码:
或者更简单的实现方式:
死锁原理,比较简单的理解,asnc阻塞当前线程,而block的任务在asnc依赖的线程(队列)去执行,一图中,主线程进入阻塞,全局队列执行block任务,而在block任务中,又执行了asnc任务,使全局队列进入阻塞,导致现场死锁,二图中,更加直接,主线程阻塞,导致block无法在sync依赖线程执行,直接死锁
在主线程(队列)执行如下代码:
或者更简单的实现方式:
死锁原理,比较简单的理解,asnc阻塞当前线程,而block的任务在asnc依赖的线程(队列)去执行,一图中,主线程进入阻塞,全局队列执行block任务,而在block任务中,又执行了asnc任务,使全局队列进入阻塞,导致现场死锁,二图中,更加直接,主线程阻塞,导致block无法在sync依赖线程执行,直接死锁