GCD自定义的队列 和 全局队列的区别

 // 创建一个GCD 的队列(这个是串行队列)
    dispatch_queue_t queue = dispatch_queue_create("com.lcy.queue", NULL);
    /**
     自己创建的 虽然 也会走 异步操作 但是 可以看出 不管怎么走 都会 是 下一个操作总是依赖上一个操作

     2016-01-13 18:13:25.814 多线程[9617:191151] 异步任务_1
     2016-01-13 18:13:25.814 多线程[9617:191112] -------- 异步分割线 1 -------
     2016-01-13 18:13:25.815 多线程[9617:191112] -------- 异步分割线 2 -------
     2016-01-13 18:13:25.815 多线程[9617:191112] -------- 异步分割线 3 -------
     2016-01-13 18:13:25.815 多线程[9617:191112] -------- 分割线 -------
     2016-01-13 18:13:27.815 多线程[9617:191151] 异步任务_2
     2016-01-13 18:13:27.815 多线程[9617:191151] 异步任务_3
     2016-01-13 18:13:27.816 多线程[9617:191151] 异步任务_4
     2016-01-13 18:13:29.817 多线程[9617:191112] 同步任务_1
     2016-01-13 18:13:29.817 多线程[9617:191112] -------- 同步分割线 1 -------
     2016-01-13 18:13:29.818 多线程[9617:191112] 同步任务_2
     2016-01-13 18:13:29.818 多线程[9617:191112] -------- 同步分割线 2 -------
     2016-01-13 18:13:29.819 多线程[9617:191112] 同步任务_3
     */


    //全局队列
    //queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
    /**
     如果是全局的队列
     2016-01-13 18:15:20.922 多线程[9633:191968] -------- 异步分割线 1 -------
     2016-01-13 18:15:20.922 多线程[9633:192071] 异步任务_1
     2016-01-13 18:15:20.922 多线程[9633:191968] -------- 异步分割线 2 -------
     2016-01-13 18:15:20.922 多线程[9633:191968] -------- 异步分割线 3 -------
     2016-01-13 18:15:20.923 多线程[9633:191968] -------- 分割线 -------
     2016-01-13 18:15:20.923 多线程[9633:192006] 异步任务_3
     2016-01-13 18:15:20.923 多线程[9633:192005] 异步任务_4
     2016-01-13 18:15:22.924 多线程[9633:191968] 同步任务_1
     2016-01-13 18:15:22.924 多线程[9633:192071] 异步任务_2
     2016-01-13 18:15:22.925 多线程[9633:191968] -------- 同步分割线 1 -------
     2016-01-13 18:15:22.925 多线程[9633:191968] 同步任务_2
     2016-01-13 18:15:22.925 多线程[9633:191968] -------- 同步分割线 2 -------
     2016-01-13 18:15:22.926 多线程[9633:191968] 同步任务_3
     */
    dispatch_async(queue, ^{
        NSLog(@"异步任务_1");
    });
    NSLog(@"-------- 异步分割线 1 -------");
    dispatch_async(queue, ^{
        sleep(3);
        NSLog(@"异步任务_2");
    });
    NSLog(@"-------- 异步分割线 2 -------");
    dispatch_async(queue, ^{
        NSLog(@"异步任务_3");
    });
    NSLog(@"-------- 异步分割线 3 -------");
    dispatch_async(queue, ^{
        NSLog(@"异步任务_4");
    });

    NSLog(@"-------- 分割线 -------");

    dispatch_sync(queue, ^{
        sleep(2);
        NSLog(@"同步任务_1");
    });
    NSLog(@"-------- 同步分割线 1 -------");
    dispatch_sync(queue, ^{
        NSLog(@"同步任务_2");
    });
    NSLog(@"-------- 同步分割线 2 -------");
    dispatch_sync(queue, ^{

        NSLog(@"同步任务_3");
    });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值