随笔分类 -  GCD

GCD相关的随笔
摘要:在iOS中有3种常见的定时器,它们可以根据不同的场景进行选择使用。 1.DispatchSourceTimer: 基于GCD实现。 2.CADisplayLink:基于屏幕刷新实现。 3.Timer:基于RunLoop实现。 DispatchSourceTimer定时器 DispatchSource 阅读全文
posted @ 2023-05-10 19:57 滴水微澜 阅读(548) 评论(0) 推荐(0) 编辑
摘要:一、背景简介平时在进行多线程处理任务时,有时候希望多个任务之间存在着一种联系,希望在所有的任务执行完后做一些总结性处理。那么就可以将多个任务放在一个任务组中进行统一管理。dispatch提供了相应的API供我们完成这一需求。 二、dispatch_group_t相关属性介绍1.dispatch_gr 阅读全文
posted @ 2017-04-22 15:14 滴水微澜 阅读(9073) 评论(0) 推荐(2) 编辑
摘要:一、简介 dispatch_group_enter:通知group,下面的任务马上要放到group中执行了。 dispatch_group_leave:通知group,任务完成了,该任务要从group中移除了。 这两种通知可以在多线程间自由穿梭的。 二、验证 下面用代码验证下它们的作用。 运行app 阅读全文
posted @ 2016-12-23 10:06 滴水微澜 阅读(16130) 评论(0) 推荐(3) 编辑
摘要:一、简介: dispatch_semaphore_t:表示信号,生成信号的方法是 dispatch_semaphore_t semaphore= dispatch_semaphore_create(0); 其中参数0表示该新生成信号的总的信号量为0个。 dispatch_semaphore_wait 阅读全文
posted @ 2016-12-22 23:56 滴水微澜 阅读(2940) 评论(1) 推荐(2) 编辑
摘要:平常开发中会经常用gcd做一下多线程任务,但一直没有对同步、异步任务在串行、并行队列的执行情况做个全面的认识,今天写了个demo跑了下,还是有些新发现的。 代码如下: - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEven 阅读全文
posted @ 2016-12-15 16:11 滴水微澜 阅读(6870) 评论(0) 推荐(2) 编辑

点击右上角即可分享
微信分享提示