GCD梳理与总结(一)队列、任务、执行任务的方式

本文是关于GCD的梳理与总结,介绍了任务、串行队列和并发队列、同步执行与异步执行的概念,并通过四驱车的比喻帮助理解。还提到了GCD的相关API及使用注意事项,包括同步执行可能导致的死锁问题。最后,作者推荐了一个iOS开发者交流群。
摘要由CSDN通过智能技术生成

GCD是iOS开发中常用的多线程技术,具有以下优点

  • 可用于多核的并行运算。
  • 会自动利用更多的 CPU 内核。
  • GCD 会自动管理线程的生命周期(创建线程、调度任务、销毁线程)。

但是由于其知识点细碎,API繁多,所以笔者决定抽空以写博客的方式对GCD进行梳理,总结,归纳和再学习。 本章Demo

首先我们来谈谈几个基本概念

任务

任务就是要执行的操作,也就是你在线程中执行的那段代码。在 GCD 中是放在 block 中的。

队列

队列有两种:1.串行队列。2.并发队列。

  • 串行队列(Serial Dispatch Queue): 每次只有一个任务被执行。让任务一个接着一个地执行。(只开启一个线程,一个任务执行完毕后,再执行下一个任务)

  • 并发队列(Concurrent Dispatch Queue): 可以让多个任务并发(同时)执行。(可以开启多个线程,并且同时执行任务)

执行队列的方式

  • 同步执行(sync)

    • 同步添加任务到指定的队列中,在添加的任务执行结束之前,会一直等待,直到队列里面的任务完成之后再继续执行。
    • 只能在当前线程中执行任务
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值