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