GCD学习笔记(八):dispatch_sync

来源:互联网 发布:懒懒淘宝客助手官网 编辑:程序博客网 时间:2024/04/25 19:02

http://itjoy.org/?p=577

前几篇文章介绍的GCD文章都是通过dispatch_async函数追加block到queue中,意味着异步添加,与异步对应的就是同步追加。同步追加任务意味着当前的线程要停止。什么情况下会用到同步呢?例如:执行main queue时,需要另外的globle queue中处理完的数据,此时就可以使用同步dispatch_sync:

       同步添加使用简单,类似于一个简版的dispatch_group_wait ,但是使用容易产生死锁问题,如果将任务追加到main queue 或者serial queue 就容易产生死锁:


0 0
原创粉丝点击