iOS多线程的方法有3种: NSThread NSOperation GCD(Grand Central Dispatch)其中,由苹果所倡导的为多核的并行运算提出的解决方案:GCD能够访问线程池,并且可在应用的整个生命的周期里面使用,一般来说,GCD会尽量维护一些适 ...
iOS多线程的方法有3种:
- NSThread
- NSOperation
- GCD(Grand Central Dispatch)
其中,由苹果所倡导的为多核的并行运算提出的解决方案:GCD能够访问线程池,并且可在应用的整个生命的周期里面使用,一般来说,GCD会尽量维护一些适合机器体系结构的线程,在有工作需求的时候,自动利用更多的处理器核心,一次来充分使用更强大的机器系统性能,以前的iOS设备为单核处理器的,线程池的用处并不大,但是现在的移动设备,包括iOS设备,愈发地朝多核的方向迈进,因此GCD中的线程池,能够在此类设备中,更加强大地使系统性能上得到更加完善的使用。
GCD,无疑是最便捷的,基于C
语言的所设计的。在使用GCD的过程中
,最方便的,莫过于不需要编写基础线程代码,其生命周期也不需要我们手动管理,创建需要的任务,然后添加到已创建好的queue队列。GCD便
会负责创建线程和调度任务,由系统直接提供线程管理。
这样一种多线程的方式,我们也会在实际项目中经常看到:app中,由于数据的执行与交换所消耗的时间长,导致需要反馈给用户UI界面往往出现延迟的现象。这样我们可以通过多线程的方法,让需要调用的方法在后台执行、在主线程上进行UI界面的切换,这样不仅是用户体验更加友好美观,也使得程序设计井然有序。本文主要粗略介绍GCD的一般使用,以及GCD中dispatch_前缀方法调用的作用和使用范围。
UI界面如下图,通过创建4个按钮事件,分析4种不同的函数所执行的程序块运行方式:
【本次开发环境: Xcode:7.2 iOS Simulator:iphone6 By:啊左】
一、GCD的使用
GCD对于开发者来说,最简单的,就是通过调用dispatch把一连串的异步任务添加到队列中,进行异步执行操作。
代码调用如下:
dispatch_async(dispatch_queue_t queue, dispatch_block_t block);
海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com
原标题:GCD、dispatch函数介绍
关键词:函数
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。