iOS开发之多线程技术—GCD篇
本篇将从四个方面对iOS开发中GCD的使用进行详尽的讲解: 一、什么是GCD 二、我们为什么要用GCD技术 三、在实际开发中如何使用GCD更好的实现我们的需求 一、Synchronous & Asynchronous 同步 & 异步 二、Serial Queues & Concurrent Queues 串行 & 并发 三、Global Queues全局队列 四、Main Queue主队列 五、同步的作用 六、dispatch_time延迟操作 七、线程安全(单例dispatch_once、读写dispatch_barrier_async) 八、调度组(dispatch_group) 四、定时源事件和子线程的运行循环 一、什么是GCD GCD 是基于 C 的 API,它是 libdispatch 的市场名称,而 libdispatch 作为 Apple 的一个库,为并发代码在多核硬件(跑 iOS 或 OS X )上执行提供有力支持。 二、我们为什么要用GCD技术 GCD 能通过推迟昂贵计算任务并在后台运行它们来改善你的应用的响应性能。 GCD 提供一个易于使用的并发模型而不仅仅只是锁和线程,以帮助我们避开并发陷阱。 GCD 具有在常见模式(例如单例)上用更高性能的原语优化你的代码的潜在能力。 GCD旨在替换NSThread等线程技术