GCD使用队列池优化

2021-08-31  本文已影响0人  helinyu

线程中过多, 然后就是我们线程中可能使用了锁, 这样会阻塞主线程的调用。 实现了对队列的管理。 —— YYDispatchQueuePool

YYDispatchQueuePool 代码笔记

基本原理:
pool 里面就是粗放了一个context对象
context[5] 以为有5中qos, 所以这里面存放了不同的qos。<context>

typedef struct {
const char *name; // 池名字
void **queues; // 对垒数组
uint32_t queueCount; // 对垒有效的数组
int32_t counter; // 游标, 当前线程的游标
} YYDispatchContext;

其实就是这样的一个数据结构存储了对线程队列的管理。

YYDispatchQueuePool 源码

上一篇下一篇

猜你喜欢

热点阅读