Gcd技术
来源:互联网 发布:晋升锦标赛与政治网络 编辑:程序博客网 时间:2024/06/05 05:43
GCD:Grand Central Dispath 大中央调度
GCD的基本思想就是将操作(任务)放在队列中去执行
队列负责调度任务执行所在的线程以及具体的执行时间
队列的特点是先进先出,新添加至队列的操作(任务)都会排在队尾
GCD的函数都是以dispatch开头的,dispatch的意思是“分配、调度”
串行队列中的任务会按顺序执行
并行队列中的任务通常会并发执行,而且无法确定任务的执行顺序
dispatch_async表示异步操作,异步操作会新开辟线程来执行任务,而且无法确定任务的执行顺序
dispatch_sync表示同步操作,同步操作不会新开辟线程
在串行队列中执行同步任务:不会新建线程,按顺序执行任务(毫无用处)
在串行队列中执行异步任务,会新建线程,按顺序执行任务(非常有用)
在并行队列中执行同步任务:不会新建线程,按顺序执行任务(几乎没用)
在并行队列中执行异步任务:会新建多个线程,但是无法确定任务的执行顺序(有用,但是很容易出错)
全局队列:
全局队列是系统的,直接拿过来就可以用,与并行队列类似,但是不能指定队列的名字,调试时无法确认任务所在队列
在全局队列中执行同步任务:不会新建线程,按顺序执行任务
在全局队列中执行异步任务:会新建多个线程,但是无法确定任务的执行顺序
主队列:
每一个应用程序只有一个主线程即只有一个主队列
为什么需要再主线程上执行任务呢?因为在ios开发中,所有UI的更新任务都必须在主线程上执行。
主队列中的操作都是在主线程中执行的,不存在异步的概念
主队列中添加的同步操作永远不会被执行(会死锁)
0 0
- Gcd技术
- iOS GCD技术初学
- Objective-C GCD多线程技术
- iOS中GCD多线程开发技术
- GCD并发线程数量控制技术
- iOS的三种多线程技术----GCD
- iOS 并行开发技术之 NSOperation && GCD
- iOS 多线程~NSThread、NSOperation 、GCD 技术区别
- iOS多线程技术的深度探究四: GCD多线程技术
- gcd
- GCD
- GCD
- GCD
- GCD
- GCD
- GCD
- GCD
- GCD
- Windows上简单的Apache守护进程
- hdoj2073(无限的路
- The Makings of Enduring Organizational Culture(持久组织文化的形成)
- const的使用
- JS开发者常用的10个Sublime Text插件
- Gcd技术
- LightOJ 1046 Rider
- mybatis操作
- sicily 1202. The Bank of Kalii
- ecshop、织梦、discuz、wordpress比较
- HDU_1856
- 机器学习笔记_ 降维_2:PCA
- SpringBoot笔记
- HDFS Federation(HDFS 联邦)(Hadoop2.3)