YYDispatchQueuePool 1.0

YYDispatchQueuePool 1.0

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最新版本2016年2月

ibireme维护。



         

iOS 全局并发队列管理工具。
(它是YYKit组件之一)

在使用并发队列执行大量 block 时,我遇到了以下问题

当某个 block 的线程被锁时,并发队列可能会创建大量线程,这可能会阻塞主线程。使用全局序列队列池可以避免这种情况。

用法

// Get a serial queue from global queue pool
dispatch_queue_t queue = YYDispatchQueueGetForQOS(NSQualityOfServiceUtility);

// Create a serial queue pool
YYDispatchQueuePool *pool = [[YYDispatchQueuePool alloc] initWithName:@"file.read" queueCount:5 qos:NSQualityOfServiceBackground];
dispatch_queue_t queue = [pool queue];

安装

手动安装

  1. 下载 YYDispatchQueuePool 子目录中的所有文件。
  2. 将源文件添加到您的 Xcode 项目中。
  3. 导入 YYDispatchQueuePool.h

文档

完整的 API 文档可以在 CocoaDocs 上找到。
您也可以使用 appledoc 在本地安装文档。

需求

此库需要 iOS 6.0+Xcode 7.0+

许可证

YYDispatchQueuePool 根据 MIT 许可证提供。有关详细信息,请参阅 LICENSE 文件。



中文介绍

iOS 全局并发队列管理工具。
(该项目是YYKit组件之一)

在用并发队列执行大量 block 时,有时会遇到以下情况:

当一个 block 所在线程被锁时,并发队列可能会创建大量线程,消耗大量资源从而影响主线程。这里可以使用一个全局的序列队列池来尽量控制全局线程数。

用法

// 从全局的 queue pool 中获取一个 queue
dispatch_queue_t queue = YYDispatchQueueGetForQOS(NSQualityOfServiceUtility);

// 创建一个新的 serial queue pool
YYDispatchQueuePool *pool = [[YYDispatchQueuePool alloc] initWithName:@"file.read" queueCount:5 qos:NSQualityOfServiceBackground];
dispatch_queue_t queue = [pool queue];

安装

手动安装

  1. 下载 YYDispatchQueuePool 文件夹内的所有内容。
  2. 将 YYDispatchQueuePool 内的源文件添加到您的工程(拖放)。
  3. 导入 YYDispatchQueuePool.h

文档

您也可以在 CocoaDocs 查看在线 API 文档,也可以使用 appledoc 在本地生成文档。

系统要求

该项目最低支持iOS 6.0和Xcode 7.0。

许可证

YYDispatchQueuePool使用MIT许可证,详情见LICENSE文件。

相关文章

iOS保持界面流畅的技巧