美文网首页
异步队列同步的几种方式

异步队列同步的几种方式

作者: yohen | 来源:发表于2017-02-28 19:51 被阅读39次

异步队列同步的几种方式

 #pragma mark ---- dispatch_barrier_async
dispatch_queue_t queue = dispatch_queue_create("yohans.queue", DISPATCH_QUEUE_CONCURRENT);

dispatch_async(queue, ^{
    sleep(1);
    NSLog(@"get City");
});

dispatch_async(queue, ^{
    sleep(2);
    NSLog(@"get Category");
});

dispatch_barrier_async(queue, ^{
    NSLog(@"get Goods by City and Category");
});

#pragma mark ---- dispatch_group_notify
dispatch_group_t group = dispatch_group_create();

dispatch_group_async(group,dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    sleep(1);
    NSLog(@"get City");
});

dispatch_group_async(group,dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    sleep(2);
    NSLog(@"get Category");
});

dispatch_group_notify(group, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    NSLog(@"get Goods by City and Category");
});

#pragma mark ---- dispatch_group_notify 手工管理
dispatch_group_t group = dispatch_group_create();
dispatch_group_enter(group);
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    sleep(1);
    NSLog(@"get City");
    dispatch_group_leave(group);
});

dispatch_group_enter(group);
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    sleep(2);
    NSLog(@"get Category");
    dispatch_group_leave(group);
});

dispatch_group_notify(group, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    NSLog(@"get Goods by City and Category");
});

相关文章

  • 异步队列同步的几种方式

    异步队列同步的几种方式

  • JavaScript 异步编程

    同步模式与异步模式 时间循环与消息队列 异步编程的几种方式 Primise异步方案 宏任务 /微任务队列 Ge...

  • 多线程

    iOS中的几种多线程GCD1、GCD分为任务和队列,任务(同步,异步)队列(串行,并发),同步串行,同步主队列的情...

  • GCD基础总结一

    上代码~ 同步串行队列 同步并行队列 异步串行队列 异步并行队列 主队列同步 会卡住 主队列异步

  • 异步编程

    拉勾大前端的笔记,仅作为学习记录 内容概要 同步模式和异步模式 事件循环和消息队列 异步编程的几种方式 Promi...

  • GCD的几种创建方式及基本使用

    同步函数 同步函数+主队列 同步函数+串行队列 同步函数+并发队列 异步函数 异步函数+主队列 异步函数+串行队列...

  • 关于iOS多线程--这些是你必须知道的

    pthread NSThread GCD1. 同步、异步、并发、串行讲解2. 创建队列的几种方式3. 栅栏函数4...

  • GCD队列、同步异步

    GCD队列、同步异步 GCD队列、同步异步

  • 多线程GCD笔记

    同步函数 + 主队列 异步函数 + 主队列 同步函数 + 串行队列 异步函数 + 串行队列 同步函数 + 并发队列...

  • Java中实现异步转同步的几种方式

    Java中实现异步转同步的几种方式 Android常见的异步转同步的方式是通过Callback + Handler...

网友评论

      本文标题:异步队列同步的几种方式

      本文链接:https://www.haomeiwen.com/subject/eqhfgttx.html