GCD—主队列
来源:互联网 发布:为什么淘宝比京东便宜 编辑:程序博客网 时间:2024/05/21 22:23
特点
- 专门用来在主线程上调度任务的队列
- 不会开启线程
- 以先进先出的方式,在主线程空闲时才会调度队列中的任务在主线程执行
- 如果当前主线程正在有任务执行,那么无论主队列中当前被添加了什么任务,都不会被调度
队列获取
- 主队列是负责在主线程调度任务的
- 会随着程序启动一起创建
- 主队列只需要获取不用创建
dispatch_queue_t queue = dispatch_get_main_queue();
- 会造成死锁的情况
- (void)gcdDemo1{ dispatch_queue_t q = dispatch_get_main_queue(); NSLog(@"!!!!"); //同步 下面的代码必须执行了之后 才能继续执行后面的代码 但是主线程现在没空(没执行完gcdDemo1的代码 所以就会互相等待) dispatch_sync(q, ^{ NSLog(@"%@",[NSThread currentThread]); });}
解决的办法
- (void)gcdDemo2{ NSLog(@"start"); // 获得主队列 dispatch_queue_t queue = dispatch_get_main_queue(); dispatch_async(dispatch_get_global_queue(0, 0), ^{ // 将任务同步添加到主队列中 dispatch_sync(queue, ^{ NSLog(@"%@",[NSThread currentThread]); }); }); NSLog(@"over");}
0 0
- GCD—主队列
- GCD主队列、全局队列
- GCD全局队列与主队列
- GCD主队列死锁和全局队列
- ios多线程操作(六)—— GCD全局队列与主队列
- ios多线程操作(六)—— GCD全局队列与主队列
- ios多线程操作(六)—— GCD全局队列与主队列
- GCD 主队列/并行队列/全局队列/主队列/串行队列/同步任务/异步任务区别
- GCD 串行队列,并发队列和主队列的整理
- GCD 串行队列,并发队列和主队列的整理
- 刀哥多线程之主队列gcd-06-main_queue
- UI 实现多线程方式之四 GCD之主队列
- GCD编程中的主队列和全局队列
- iOS 多线程编程<三、GCD主队列相关>
- 多线程GCD之图片异步加载主队列刷新UI
- 全局队列/主队列/
- 多线程:主队列
- GCD介绍。串行队列、并行队列、全局队列、主队列、同步任务、异步任务
- R语言入门#01
- GCD—调度组
- 杭电5443 线段树模板
- 手机屏幕关于VGA、QVGA、WVGA、HVGA的区别介绍(模拟器)
- Windows下Python安装教程与常见问题
- GCD—主队列
- 软件测试人员应具备的素质
- 视图的生命周期
- SSH整合过程中出现的问题:could not fetch initial value for increment generatorat..
- 黑马程序员_iOS_OC_ARC
- 学习日记:json之what,why,where,how及应用
- Java中的Timer和TimerTask的用法
- Android Studio的导包依赖问题
- ISG pwnme100 poc 学习