iOS开发--多线程
2024-09-03 05:20:09
前面在《Bison眼中的iOS开发多线程是这样的(二)》一文中讲完了多线程的NSThread
,不难发现这种方式的多线程实现起来非常的复杂,为了简化多线程的开发,iOS提供了GCD来实现多线程。GCD有俩个核心的概念:
队列:队列负责管理开发者提交的任务,GCD队列始终以先进先出的方式来处理任务,但由于任务的执行时间并不相同,因此先处理的任务并不一定先结束。队列既可是串行队列,也可是并发队列,串行队列每次只处理一个任务,必须前一任务完成后,才会执行下一任务;并放队列则可同时处理多个任务,So将会有多个任务并发执行。队列底层会维护一个线程池来处理用户提交的任务,线程池的作用就是执行队列管理的任务。串行队列底层的线程池只要维护一个线程即可,并发队列则想反。
任务:任务则为用户提交给队列的工作单元,这些任务将会提交给队列底层维护的线程池执行,因此这些任务会以多线程的方式执行。
综上所述,不难发现,使用GCD只需俩步即可。
1.创建队列。
2.将任务提交给队列。
接下来我让我们详细的玩一玩这GCD把
最新文章
- Windows下几个常用的和进程有关的命令
- 【网络】VPN和代理服务器的区别
- python笔记 - day5
- change the walltime for currently running PBS job (qalter pbs)
- IEnumerable接口的实现
- Android中使用speex将PCM录音格式转Wav格式
- [转]Chrome浏览器的离线安装包下载地址
- 然爸读书笔记(2014-10)----Bootsrap用户手册
- [转]JS基础之undefined与null的区别
- Inno Setup入门(二)——修改安装过程中的图片
- ajax提交到后台是中文乱码
- HTTP与HTTPS(转)
- 正益移动推出新产品正益工作 实现PaaS+SaaS新组合
- linux 下安装vscode
- shell 写的 jrottenberg/ffmpeg 转码
- threading 多线程使用
- Scrapy反爬
- java注解的概念理解
- fixed、absolute
- Rest数据服务查询类-根据sql查询
热门文章
- mongodb的常用操作(二)
- Zend-MVC intro
- java之其它命令
- Oracle使用%rowtype变量存储一行数据
- 语音识别之梅尔频谱倒数MFCC(Mel Frequency Cepstrum Coefficient)
- Notes of the scrum meeting(2013/10/27)
- mysql中实现oracle中的rowid功能
- 从OGRE,GAMEPLAY3D,COCOS2D-X看开源
- Codeforces Round #352 (Div. 2) D. Robin Hood
- SQL SERVER开窗函数