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 就容易产生死锁:
1
2
3
4
5
6
7
8
9
10
11
12
//////////////
dispatch_queue_tqueue=dispatch_get_main_queue();
dispatch_sync(queue,^{
NSLog(@"hello world");
});
////or
dispatch_async(dispatch_get_main_queue(),^{
dispatch_sync(dispatch_get_main_queue(),^{
NSLog(@"hello world!");
});
});
0 0
- GCD学习笔记(八):dispatch_sync
- GCD学习——dispatch_sync
- GCD学习(六) dispatch_async 和dispatch_sync
- GCD学习(六) dispatch_async 和dispatch_sync
- iOS学习笔记74-完整详解GCD系列(一)dispatch_async;dispatch_sync;dispatch_async_f;dispatch_sync_f
- GCD dispatch_sync和dispatch_async
- dispatch_async 和dispatch_sync GCD
- IOS学习笔记之十二:Dispatch_sync死锁
- FMDB 引起的gcd dispatch_sync
- GCD 学习(八)dispatch_semaphore
- GCD 学习(八)dispatch_semaphore
- GCD 第一篇 dispatch_async;dispatch_sync;dispatch_async_f;dispatch_sync_f
- GCD dispatch_async 与dispatch_sync 的理解
- GCD学习笔记
- GCD编程学习笔记
- GCD学习笔记
- 学习笔记 -- GCD
- GCD学习笔记
- 系统变质
- GCD学习笔记(六):Dispatch Group
- GCD学习笔记(七):dispatch_barrier_async
- jQuery高性能自定义滚动条美化插件
- oj 小黑熊偷玉米
- GCD学习笔记(八):dispatch_sync
- GCD学习笔记(九):dispatch_apply
- 数据结构——算法之(040)(最大公约数问题)
- GCD学习笔记(十):dispatch_once
- GRE/GMAT写作对于论据的要求分析
- 终端(Ctrl+Alt+T)的账户是Guest,sudo和su命令都不能运行
- 【WebDriver】启动chrome浏览器并全屏
- Block笔记(1):语法
- SAT数学单位类词汇介绍