GCD常用函数

  • 栅栏函数
    // 栅栏函数: 用来控制并发队列的执行顺序
    dispatch_barrier_async(queue, ^{
        NSLog(@"i'm a barrier");
    });

  • 延迟函数
- (void)delay{      // 在2.5s之后延迟执行run函数
    [self performSelector:@selector(run) withObject:self afterDelay:2.5];
}

- (void)run{
    NSLog(@"run");
}
  • 一次代码
- (void)once{
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        NSLog(@"once");
    });
}
  • 快速迭代
dispatch_apply(10, dispatch_get_global_queue(0, 0), ^(size_t index){
    // 执行10次代码,index顺序不确定
});
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 延迟执行 一次性代码 栅栏函数 快速迭代 队列组 定时器
    红茶绅士阅读 340评论 0 0
  • 1 一次性代码 :1)在整个程序运行过程中只会执行一次 2)线程安全 2 延迟函数的使用:延长多时间去执行任务 3...
    LY2528阅读 1,022评论 0 6
  • //延迟执行-(void)delay{NSLog(@"start-----");//1.延迟执行的第一种方法//[...
    BEYOND黄阅读 228评论 0 3
  • 1. GCD延时执行 1.1 延时执行常用的方法有2种 分别是 performSelector 和NSTimer...
    WenJim阅读 248评论 0 0
  • 关于 iOS 多线程中 GCD 的基础知识已在上一篇文章中详细说明,请参看《轻松学iOS多线程之 GCD 的基本使...
    BWLi420阅读 597评论 2 8