FMDB GCD

作者: 老猫_2017 | 来源:发表于2020-01-21 13:43 被阅读0次
    size_t ops = 16;
            
    dispatch_queue_t dqueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
    dispatch_apply(ops, dqueue, ^(size_t nby) {...}
    

    dispatch_apply 可以并发执行任务,完成, 内部实现,类似, group waiting 的操作. 当前队列执行完毕之后,继续往下执行.

        NSLog(@"--start");
        dispatch_queue_t myQueue = dispatch_queue_create("concurrent.queue", DISPATCH_QUEUE_CONCURRENT);
        dispatch_apply(100, myQueue, ^(size_t n) {
            NSLog(@"current thread: %@ --- %d", NSThread.currentThread.description, n);
        });
        NSLog(@"--end");
    // 可以看出, 循环 100 次, 并行队列,接收提交的block,执行完毕之后,end. 多线程执行,有系统自动决定,线程数码
    

    其他的, 后台队列,没有什么区别, 异步执行任务,

    相关文章

      网友评论

          本文标题:FMDB GCD

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