GCD
2020-07-19 本文已影响0人
豆豆哥哥
简介
什么 是GCD
全称 Grand Central Dispatch
存C语言的 提供了很强大的函数
核心: 将任务添加到队列,并指定队列的执行函数
GCD的优势
GCD是苹果为多核的并行运算提出的解决方案
GCD会自动利用更多的cpu内核(多核)
GCD会自动管理线程的生命周期(线程的创建,调度任务,销毁线程)
--- runable running sleep 阻塞 销毁 cancle
程序只需要告诉GCD 想要执行什么任务,不需要编写任何线程管理代码
核心: 将任务添加到队列,并指定队列的执行函数
任务使用block 封装
任务的block 没有参数也没有返回值
执行函数
异步执行: dispatch_async
不会等待当前执行完毕,就可以执行下一语句
*会开启线程执行block的任务
异步是多线程的代名词
同步执行:dispatch_sync
必须等待当前语句执行完毕,才会执行吓下一条语句
会不开启线程 -- 一般任务所在线程执行
队列
队列是一种数据结构
串行队列
先进先出
每次执行一个
按照添加的顺序依次执行
并发队列
不会按照添加的顺序执行
```