美文网首页iOS开发笔记
GCD中的串行,并行,同步,异步详解

GCD中的串行,并行,同步,异步详解

作者: 李Mr | 来源:发表于2016-07-27 14:46 被阅读103次

gcd中的串行,并行,同步,异步详解


1、gcd中同步与异步的区别:

gcd中的线程是由一个线程池来管理的,这个池中存放的是一个个的线程。之所以称为“池”,很容易理解出这个“池”中的线程是可以重用的。

如果任务是线程同步的,那么会等待当前线程执行完毕之后,再从池子中拿出一条线程。所以同步的过程中只有一条线程执行任务。

如果任务是线程异步的,队列中的任务不需等待当前任务执行完毕就可以调度下一个任务,这时底层线程池中会再次提供一个线程供第二个任务执行,执行完毕后再回到底层线程池中。

总结:

串行同步:任务按顺序执行,整个过程只会开一条线程。

串行异步:任务按顺序执行,因为是串行所以也只会开一条线程。

并行同步:任务不按顺序执行,整个过程只开一条线程。

并行异步:任务不按顺序执行,整个过程可能有多条线程。

为了提高效率建议最多开3~5条并发线程。

相关文章

  • GCD中的串行,并行,同步,异步详解

    gcd中的串行,并行,同步,异步详解 1、gcd中同步与异步的区别: gcd中的线程是由一个线程池来管理的,这个池...

  • 关于多线程GCD 串行/并行、同步/异步

    一、GCD串行/并行队列创建 串行队列: 并行队列: 二、GCD串行/并行队列同步/异步执行 执行内容1: 执行结...

  • IOS多线程总结

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

  • GCD的同步异步串行并行、NSOperation和NSOpera

    (1)GCD实现的同步异步、串行并行。 ——同步sync应用场景:用户登录,利用阻塞 ——串行异步应用场景:下载等...

  • 2022-07-25

    GCD编程中串行、并行、同步、异步的执行顺序 https://blog.csdn.net/feisongfeiqi...

  • iOS多线程操作GCD以及NSOperation简介

    GCD是一套C写的多线程模型,根据队列类型和是否同步可以分为并行同步,并行异步,串行同步,串行异步。具体使用可以查...

  • iOS多线程小结

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

  • 多线程GCD的使用

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

  • GCD

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

  • GCD 中同步、异步、串行、并行

    串行队列 VS 并行队列 GCD 中的队列是用来放置需要执行的任务的,任务的取出遵循队列的先进先出的原则。GCD ...

网友评论

  • 我不是小兵:“为了提高效率建议最多开3~5条并发线程“,您好,这句有点不明白啊,GCD不是系统管理的么,讲道理,系统应该能知道如何更高效的处理并发。为什么系统接管了,还要手动控制呢

本文标题:GCD中的串行,并行,同步,异步详解

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