Concurrency By Turorials (1) - 简介

281 阅读2分钟

性能优化不是一个有意思的任务。如果做得好,用户不会表示感谢,如果做得不好,app会受到影响,绩效也会被相应的降低。 可以通过多种方式进行优化。本书将集中讨论并发的方式。

并发是什么

应用程序的逻辑,确定哪些块可以同时运行,并且可能以随机的顺序运行,但仍然可以正确实现数据流。

现代设备几乎总是不止一个CPU,而苹果的iphone从2011年起就采用了双核处理器。拥有多个核心意味着他们能够同时运行多个任务。通过将应用程序分割成逻辑“代码块”,可以让iOS设备同时运行程序的多个部分,从而提高整体性能。

为什么使用并发

确保应用程序尽可能平稳地运行,并且用户不会被迫等待。

对于大多数与计算机无关的事情来说,一秒钟是微不足道的时间。然而,如果一个人在iPhone这样的设备上做了一个动作后,要等一秒钟才能看到反馈,就太长了。“慢”也是导致应用程序被卸载的主要原因之一。

使用并发的一个有益的副作用是,它帮助您花费更多的时间来考虑应用程序的整体架构。你会发现你会很自然地写出更小、更容易管理的方法,并且这些方法可以同时运行。

怎么使用并发

将重点介绍iOS为您提供的两种并发运行代码的主要方式。

  1. 关于Grand Central Dispatch的第一部分将介绍常见的场景,您将发现自己能够实现并发。您将了解如何在后台运行任务,如何将任务分组,以及如何限制一次可以运行的任务数量。在第一部分的最后,您还将对并发的危险以及如何避免它们有一个深刻的理解。
  2. 在第二部分中,您将关注Operation类。操作构建在Grand Central Dispatch之上,允许处理更复杂的场景,比如在后台线程上运行可重用代码,让一个线程依赖于另一个线程,甚至在操作启动或完成之前取消操作。