Skip to content

Binlogo-Archive/GCD-Complete-Guide-Samples

Repository files navigation

小专栏 - 彻底搞定 GCD🚦并发编程 Logo

本专栏旨在彻底厘清 iOS 开发中 GCD 的应用场景与涉及的API,分析并理解其背后的原理。实际上, libdispatch(即 GCD, Grand Central Dispatch, 中文常译为:大中枢派发)是一个跨平台支持的 C 语言库,并通过 Swift 封装,提供了友好的 API,是 iOS 与 macOS 进行多线程开发时的首选。整个专栏除原理篇会探究部分源码实现涉及 C 语言,也都会基于 Swift 5.0 进行。

除了深入浅出地理解并发编程与 GCD 中的核心概念,以及 API 的应用实践,我们还将进一步探究其底层原理,以便理解开发中可能遇到的问题并找到解决办法。

最后,将针对 iOS 开发面试中关于 GCD 的常见问题进行总结与回顾。

目录大纲

概念篇

  • 认识 GCD 在 iOS&macOS 开发中的重要性
  • 明晰并发编程与 GCD 中的基本术语

应用篇

  • 前置知识:玩转「闭包」
  • 常见后台任务与异步API的友好设计
  • 任务延迟执行最佳实践
  • 让任务可取消派发
  • 终结「读者-写者」问题
  • 设计线程安全的类与方法
  • 慎用循环并发执行
  • 可被监听的事件源能派上什么用场?
  • 利用信号量控制网络请求的执行细节
  • 测试异步代码
  • 借助 GCD 缓冲区与读写通道创建一个 TCP 服务

原理篇

  • 探究大中枢派发 (GCD/libdispatch) 的「现代化」
  • GCD 队列中的任务如何被「大中枢派发」?

附:

  • 面试中关于 GCD 的常见问题与题解
  • 更多并发编程技术导览与鸣谢

专栏特色:

  • 知识点覆盖全面且深入
  • 概念图与思维导图辅助理解与记忆
  • 基于最新 Swift 5.0

适合的读者

  • 具备基本 iOS/macOS 开发知识
  • 希望编写出更高性能的代码
  • 希望针对性掌握 Apple 平台并发编程技术

Releases

No releases published

Packages

No packages published

Languages