iOS:一个无聊的GCD便捷操作类

一个无聊的GCD轮子

面试有回问道,做项目的时候,有没有什么系统的库用着不爽的,然后你自己从新封装的。

<strong><code>GCD</code>有时候就觉得API比较讨厌</strong>

很久之前,撸了一个GCD的便捷操作类。

@interface PTVGCDQueue : NSObject
//< 队列
@property (strong, readonly, nonatomic) dispatch_queue_t dispatchQueue;
//< 主队列
+ (PTVGCDQueue *)mainQueue;
//< 全局队列
+ (PTVGCDQueue *)globalQueue;
+ (PTVGCDQueue *)highPriorityGlobalQueue;
+ (PTVGCDQueue *)lowPriorityGlobalQueue;
+ (PTVGCDQueue *)backgroundPriorityGlobalQueue;

//< 使用才创建的队列

····此处可以添加几个项目中单独使用的线程。

//< 初始化
//< 默认 DISPATCH_QUEUE_SERIAL 队列
- (instancetype)init;
- (instancetype)initSerial;
- (instancetype)initSerialWithLabel:(NSString *)label;
//< 创建DISPATCH_QUEUE_CONCURRENT 队列
- (instancetype)initConcurrent;
- (instancetype)initConcurrentWithLabel:(NSString *)label;

//< 便捷实用
+ (void)executeInMainQueue:(dispatch_block_t)block;
+ (void)executeInGlobalQueue:(dispatch_block_t)block;
+ (void)executeInHighPriorityGlobalQueue:(dispatch_block_t)block;
+ (void)executeInLowPriorityGlobalQueue:(dispatch_block_t)block;
+ (void)executeInBackgroundPriorityGlobalQueue:(dispatch_block_t)block;
+ (void)executeInMainQueue:(dispatch_block_t)block afterDelaySecs:(NSTimeInterval)sec;
+ (void)executeInGlobalQueue:(dispatch_block_t)block afterDelaySecs:(NSTimeInterval)sec;
+ (void)executeInHighPriorityGlobalQueue:(dispatch_block_t)block afterDelaySecs:(NSTimeInterval)sec;
+ (void)executeInLowPriorityGlobalQueue:(dispatch_block_t)block afterDelaySecs:(NSTimeInterval)sec;
+ (void)executeInBackgroundPriorityGlobalQueue:(dispatch_block_t)block afterDelaySecs:(NSTimeInterval)sec;

//< 把block加入队列
- (void)execute:(dispatch_block_t)block;
- (void)execute:(dispatch_block_t)block afterDelay:(int64_t)delta;
- (void)execute:(dispatch_block_t)block afterDelaySecs:(float)delta;
- (void)waitExecute:(dispatch_block_t)block;
- (void)barrierExecute:(dispatch_block_t)block;
- (void)waitBarrierExecute:(dispatch_block_t)block;
- (void)suspend;
- (void)resume;

@end

方便集中管理线程,不用记录那么长的API

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,764评论 25 709
  • 1. 哺乳内衣+溢乳垫:“妈妈们要对母乳喂养有信心,开奶要用热水敷或者包包菜”,这是我事先看了一些帖子介绍开奶和喂...
    郭琳静Grace阅读 3,085评论 0 1
  • 每一天都是修行自己一个人和孤独相处,没有远方的电话,没有故事,没有为了看起来不寂寞的刻意感。爱无能,爱无能。
    一只2b兔子阅读 1,001评论 0 0
  • 我居住的地方突破了有气象历史记录以来最热的一天,40.9℃!也就是这一天我与肥猫相约碰头尬聊光辉岁月,已经2年没见...
    KUNGGGGGGG阅读 1,287评论 0 0
  • 培训第四天 明天就要结束培训了,心情是很开心的。 今天学的东西很少,主要是下午的交流。罗茜姐确实很有经验,说话很有...
    午后红茶828阅读 1,540评论 0 1