ios 常用的多线程编程技术有以下三种:(还有 pthread 不怎么用,太麻烦)
1, NSThread
2, NSOperation
3, GCD (Grand Central Dispatch)
这三种编程方式从上到下,抽象层次从低到高,抽象层度越高使用越方便,鉴于方便程度,NSThread 使用也不太多了,另外两种使用多一些.
NSOperation 使用更加精细,可用与网络数据传输之类的。
GCD是苹果公司提供的一套并发解决方案,ios4以及以上可用,
GCD工作原理:把任务放到对应队列中,根据可用的处理资源,安排这些任务在任何可用的处理器上执行,一个任务可以是一个函数(function) 或者是一个block,
GCD的队列,dispatch queue,
main dispatch queue :全局性的serial queue,所有和UI操作相关的任务都应该放到这个queue里面,在主线程中执行。 宏 dispatch_get_main_queue()取到这个队列,
global dispatch queue :可以并发的执行多个任务,但是完成的顺序是随机的,一般后台执行的任务放到这个queue里, 函数 dispatch_get_global_queue(0,0)取到这个队列:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。