Swift GCD(Grand Central Dispatch)探索

GCD知识点梳理

GCD(Grand Central Dispatch)是苹果推出的用于多核并行编程的技术.关于 GCD 编程一定要知道的知识点:

1、GCD 是什么:GCD 是一种异步执行任务的技术,能够帮助程序员更方便地实现多线程编程,提高程序的性能。

2、GCD 的优势:GCD 可以通过自动化任务的管理来避免开发者手动管理线程和队列,从而减少代码复杂度和错误率。

3、GCD 中的队列:GCD 中有两种队列,串行队列和并发队列。串行队列每次只能执行一个任务,而并发队列可以同时执行多个任务。

4、GCD 中的任务:GCD 中的任务可以是同步任务或异步任务。同步任务会阻塞当前线程,直到该任务完成为止,而异步任务会在后台执行,不会阻塞当前线程。

5、GCD 中的执行方法:GCD 提供了三种任务执行方法,分别是同步执行、异步执行和栅栏执行。同步执行是在当前线程中执行任务,异步执行是在后台线程中执行任务,而栅栏执行可以在任务执行前和执行后插入其他任务。

6、GCD 中的 Dispatch Group:Dispatch Group 可以将一组任务添加到一个组中,然后等待组中的所有任务执行完成后再执行其他操作。

7、GCD 中的 Dispatch Semaphore:Dispatch Semaphore 可以用来管理资源的访问,可以控制同时访问资源的线程数。

8、GCD 中的 Dispatch Source:Dispatch Source 可以用来监控各种系统事件,如文件系统变化、定时器事件等等。

GCD 中的队列

在GCD中,队列是用于管理任务的一种机制。队列可以分为两种类型:

  • 串行队列
  • 并发队列

不同类型的队列在任务执行的方式上有很大不同。

串行队列按照任务添加到队列中的顺序,一个一个地执行,每次只有一个任务在执行。也就是说,任务按照FIFO的顺序执行。在串行队列中,任务必须一个接一个地执行,因此这种队列适用于需要顺序执行任务的场景,比如在某个任务完成后执行另一个任务。

并发队列可以同时执行多个任务,但是任务的执行顺序并不一定按照添加到队列中的顺序,而是取决于系统资源的可用性和任务的优先级。在并发队列中,任务是并发执行的,所以适用于需要同时执行多个任务的场景,比如图片下载或者数据处理。

在GCD中,队列还分为两种
  • 主队列
  • 自定义队列。

主队列是一个串行队列,负责在主线程上执行任务,因此在主队列上执行的任务必须要快速完成,避免阻塞主线程。自

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值