浅谈GCD

作者: 萤火驻守心间 | 来源:发表于2022-06-16 19:26 被阅读0次

GCD是纯C语言的API,它所有的任务通过一个Block没有参数,没有返回值的函数完成的。

它可以用在同步或者异步线程里面。所有GCD的函数都是dispatch_函数开头如果开启异步线程的话就async,如果在同步就sync。

GCD有一个好处,当开启异步线程去执行Block里面的代码的时候,它对线程有一个回收操作的,当任务完成之后他会收回当前的线程,如果在1分钟之内又有新的任务的时候,他就会使用原来的线程,不会去重复创建,相当于TableViewCell的重用机制一样,当任务完成1分钟之后,没有任务,线程被释放,1分钟后有任务来就会创建出一个新的子线程。这样就能够节省线程空间,提高程序的运行速度

网上的好处

1.GCD用纯C编写,可以提高应用程序的响应能力,更加高效;

2.GCD使用简单,会自动利用更多的CPU内核(比如双核、四核),自动管理线程的生命周期(创建线程、调度任务、销毁线程),程序员只需要告诉GCD想要执行什么任务,不需要编写任何线程管理代码,提供更容易并发模型,有助于避免并发错误。

GCD总结:

1.GCD会开启线程

2.同步不会开启线程。代码会在当前线程执行。

相关文章

  • GCD

    相关链接GCD使用经验与技巧浅谈

  • 浅谈GCD

    浅谈GCD1.什么是GCDGCDGrand Central Dispatch (GCD)是Apple开发的一个多核...

  • 浅谈GCD

    GCD实现原理: GCD有一个底层线程池,这个池中存放的是一个个的线程。之所以称为“池”,很容易理解出这个“池”中...

  • 浅谈GCD

    出来工作已经一段时间了,但是对于大四才转程序的我,对很多程序方面的问题还是似懂非懂。很多时候学习起来也很迷茫,不知...

  • 浅谈GCD

    1,任务和队列 任务:就是执行操作的意思,换句话说就是你在线程中执行的那段代码。在 GCD 中是放在 block ...

  • 浅谈GCD

    GCD是纯C语言的API,它所有的任务通过一个Block没有参数,没有返回值的函数完成的。 它可以用在同步或者异步...

  • iOS面试攻略,浅谈多线程开发2(GCD)

    之前写了一篇多线程开发的iOS 面试攻略,浅谈多线程开发1但是没有跟大家聊GCD 就是想把GCD单独放在一篇文章跟...

  • 浅谈GCD一

    1 线程进程和线程都是操作系统的概念,进程是应用程序的执行实例,每个进程都有私有的虚拟地址空间,代码,数据和其他系...

  • 菜鸟浅谈 GCD

    笔者是 iOS 开发的新手, 最近学习了一下 GCD (又称: 共产党), 怕忘了记录一下.先介绍一下 GCD, ...

  • [ios]浅谈gcd

    gcd是苹果推出的多线程处理技术。什么是线程呢,线程是cpu执行的汇编指令集合,由于一个cpu一次只能执行一个命令...

网友评论

    本文标题:浅谈GCD

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