dispatch备忘录

记录一些平时不会注意到的dispatch点

dispatch_group

dispatch_group的底层实现是怎么样的呢?

在阅读官方源码的时候发现一个很有意思的地方,dispatch_group居然和semaphore是同一个东西。dispatch_group可以说是semaphore的一个特定扩展实现。

我们从业务需求上来说,的确group也是可以用semaphore来实现相同的功能。

dispatch_once

以前一直以为dispatch_once是一个单纯的经过系统优化的锁而已,然而官方实现上要复杂很多,运行时会维护一个链表来执行,这样做可能是为了减少使用锁的情况。

你可能感兴趣的:(dispatch备忘录)