美文网首页
同步&异步 与 串行&并行的区别

同步&异步 与 串行&并行的区别

作者: heart_领 | 来源:发表于2018-08-20 15:39 被阅读4次

一、 同步&异步:
指的是能否开启新的线程。同步不能开启新的线程,异步可以。
二、串行&并行:
指的是任务的执行方式。串行是指多个任务时,各个任务按顺序执行,完成一个之后才能进行下一个。并行指的是多个任务可以同时执行。异步是多个任务并行的前提条件。

dispatch_queue_t serialqueue=dispatch_queue_create("serialqueue", DISPATCH_QUEUE_SERIAL);//串行线程队列
   dispatch_queue_t concurrentqueue=dispatch_queue_create("concurrent", DISPATCH_QUEUE_CONCURRENT);//并行线程队列
//    1.并行线程队列
   dispatch_apply(5, concurrentqueue, ^(size_t index) {
       NSLog(@"并行线程队列:%ld",index);//无序输出,多线程并行
   });
//    2.串行线程队列
   dispatch_apply(5, serialqueue, ^(size_t index) {
       NSLog(@"串行线程队列:%ld",index);//有序输出,单线程串行
   });
//    1循环打印完之后,2才会循环打印
   NSLog(@"🔥🔥🔥🔥🔥🔥");//最后执行

for循环

self.dataArray = [NSMutableArray array];
    for (int i = 0; i<10; i++) {
        ///并发队列 异步任务 具备开启多个线程能力
//        dispatch_queue_t queue = dispatch_queue_create("queue",DISPATCH_QUEUE_CONCURRENT);//并行队列,多个任务同时执行
        dispatch_queue_t queue = dispatch_queue_create("myqueu", DISPATCH_QUEUE_SERIAL);//串行队列,上一个任务完成,才能执行下一个任务
        ///写入任务
        dispatch_async(queue, ^{
            NSLog(@"串行队列111111");
//            [self write:@(i)];
        });
        ///读取任务
        dispatch_async(queue, ^{
            NSLog(@"串行队列222222");
//            [self read];
        });
    }
    /**
     1.串行&&同步:按顺序输出
     2.并行&&同步:按顺序输出
     3.串行&&异步:输出混乱//写入任务循环10次之后,读取任务才开始循环,并循环10次,
     4.并行&&异步:输出混乱
     */

///读取操作
- (void)read {
    NSLog(@"数组输出:%@",self.dataArray);
}
///写入操作
- (void)write:(id)obj {
    [self.dataArray addObject:obj];
}

相关文章

  • 多线程GCD的使用

    一、同步/异步、串行/并行的区别 1.同步/异步 同步/异步是指线程与线程之间的关系。 2.串行/并行 串行、并行...

  • 同步&异步 与 串行&并行的区别

    一、 同步&异步:指的是能否开启新的线程。同步不能开启新的线程,异步可以。二、串行&并行:指的是任务的执行方式。串...

  • GCD 小结

    一、 同步/异步、串行/并行的区别 1.同步/异步 同步/异步是指线程与线程之间的关系. 2.串行/并行 串行/并...

  • iOS多线程小结

    同步异步串行并行 同步串行:不开启线程 同步并行:不开启线程 异步串行:最多开启一个线程 异步并行:开启线程 同步...

  • GCD基础总结一

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

  • sync 和 async区别

    同步,异步,串行,并行

  • IOS多线程总结

    目录 简述 NSThread GCD操作与队列异步操作并行队列同步操作并行队列同步操作串行队列异步操作串行队列队列...

  • GCD

    同步、异步、串行、并行的概念 同步/异步:指的是能否开启新的线程,同步不能开启新的线程,异步可以。串行/并行:指的...

  • GCD 相关函数

    串行同步 串行异步 并行同步 并行异步 主队列同步 会死锁 主队列异步 异步处理耗时,回主线程刷新UI 栅栏函数 ...

  • GCD

    1、同步串行队列 2、同步并行队列 3、异步串行队列 4、异步并行队列 5、死锁 主线程中创建同步串行队列 主线程...

网友评论

      本文标题:同步&异步 与 串行&并行的区别

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