GCD使用队列池优化
2021-08-31 本文已影响0人
helinyu
线程中过多, 然后就是我们线程中可能使用了锁, 这样会阻塞主线程的调用。 实现了对队列的管理。 —— YYDispatchQueuePool
基本原理:
pool 里面就是粗放了一个context对象
context[5] 以为有5中qos, 所以这里面存放了不同的qos。<context>
typedef struct {
const char *name; // 池名字
void **queues; // 对垒数组
uint32_t queueCount; // 对垒有效的数组
int32_t counter; // 游标, 当前线程的游标
} YYDispatchContext;
其实就是这样的一个数据结构存储了对线程队列的管理。