iosiOS知识收集iOS

小笨狼漫谈多线程:GCD(一)

2016-02-22  本文已影响5553人  小笨狼

多线程是程序开发中非常基础的一个概念,大家在开发过程中应该或多或少用过相关的东西。同时这恰恰又是一个比较棘手的概念,一切跟多线程挂钩的东西都会变得复杂。如果使用过程中对多线程不够熟悉,很可能会埋下一些难以预料的坑。

iOS中的多线程技术主要有NSThread, GCD和NSOperation。他们的封装层次依次递增,其中

上篇文章介绍了NSThread的用法,NSThread已经属于古董级别的东西了,欣赏一下可以,真正使用就不要麻烦他了。GCD是多线程中的新贵,比起NSThread更加强大,也更容易使用。由于GCD的东西比较多,我会分好几篇文章介绍,这篇文章主要介绍GCD中的queue相关知识。

dispatch_queue_t

使用GCD之后,你可以不用再浪费精力去关注线程,GCD会帮你管理好一切。你只需要想清楚任务的执行方法(同步还是异步)和队列的运行方式(串行还是并行)即可。

任务是一个比较抽象的概念,表示一段用来执行的代码,他对应到代码里就是一个block或者一个函数。

队列分为串行队列和并行队列:

上一篇 下一篇

猜你喜欢

热点阅读