iOS快速模拟线程死锁

在主线程(队列)执行如下代码:


或者更简单的实现方式:


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

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