码迷,mamicode.com
首页 > 编程语言 > 详细

Multithread 什么时候处理多线程,有几种方式,优缺点?

时间:2016-02-17 10:51:37      阅读:498      评论:0      收藏:0      [点我收藏+]

标签:

1.在 iOS 编程中,这几种情况下需要处理多线程:UI 事件必须在主线程里进行,其他的可以放在后台进行;而进行一些耗时长或阻塞线程的任务,最后放进后台线程里进行。

2.iOS 的多线程技术有这么几种:线程,GCD 和 NSOperationQueue(操作队列)。

3.线程这种技术比较复杂,但线程有个后二者没有的优势:能够精确保证任务执行的时间。GCD 全称是 Grand Central Dispatch, 是 libdispatch 这个库的外部代号,基于 C 的底层来实现;而NSOperationQueue,通称操作队列,是基于 GCD 实现的。GCD 能做的 NSOperationQueue 基本上都能做,而且还有些 GCD 中不易实现的特性,如挂起、取消任务,虽然在 iOS 8 中,GCD 也提供了取消任务的功能,但在 GCD 中任务的挂起和取消都有较大的局限性;虽然大多数情况下应该使用抽象级别更高的 API,也就是 NSOperationQueue,但处理一般的后台任务我偏爱 GCD,主要是 GCD 搭配 Blcok 使用简单,非常方便。

Multithread 什么时候处理多线程,有几种方式,优缺点?

标签:

原文地址:http://www.cnblogs.com/crash-wu/p/5194441.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!