多线程技术之GCD

GCD(Grand Central Dispatch)是苹果引入解决多核编程问题的技术,方法在Mac OS X 10.6雪豹中首次推出,并随后被引入到了iOS4.0中。在三中常用的多线程技术中,GCD的抽象层次最高,他的底层虽然还是线程实现的,但是在开发过程中不用过多的关注其实现的细节。GCD是基于C语言的框架,配合block使用十分方便,而且可以减少参数传递, 使逻辑清晰,增加代码可读性。

环境信息:

Mac OS X 10.10.1

Xcode 6.1.1

iOS 8.1

正文:

一、GCD中的队列

GCD的核心就是一个FIFO队列(称 diapatch queue),通过队列来管理队列中的任务,类似于NSOperationQueue。GCD中的队列分为以下三种类型:

1.全局队列:所有添加到全局队列中的操作,都是并发执行的,会创建多个线程

2.串行队列:只有一个线程,所有添加到串行队列中的操作会按照添加顺序执行,不需要再去指定依赖关系

3.主队列:用来执行主线程上面的操作,添加到主队列中的操作都是在主线程中执行的

 

一、GCD的使用

1.获取全局队列并执行异步操作

 

2.在主队列中执行操作

 

二、GCD比较和小结

 

发表评论

电子邮件地址不会被公开。