浅谈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

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