zoukankan      html  css  js  c++  java
  • GCD基本思想

    GCD的基本思想就是操作s放在队列s中去执行

    1.操作使用Blocks定义

    2.队列负责调度任务执行所在线程遗迹具体的执行时间

    3.队列的特点是先进先出(FIFO)的,新添加至队列的操作都会排在队尾

    提示

    GCD的函数都是以diapatch(分配、调度)开头的

    队列

    dispatch_queue_t

      串行队列,队列中的任务只会顺序执行

      并行队列,队列中的任务通常会并发执行

    操作

     dispatch_async 异步操作,会并发执行,无法确定任务的执行顺序

     dispatch_sync 同步执行,会依次顺序执行,能够决定任务的执行顺序

    串行队列,同步任务。不需要新建线程

    串行队列,异步任务。需要一个子线程,线程的创建和回收不需要程序员参与(最安全的一个选择,串行队列只能创建)

    并行队列,同步任务。不需要创建线程

    并行队列,同步任务,有多少个任务,就开N个线程执行

    无论什么队列什么任务,线程的创建和回收都不需要程序员参与

    线程的创建回收工作是由队列负责的


    GCD小结

    1.通过GCD,程序员不用直接喝线程打交道,只需要向队列添加代码块即可

    2.GCD在后端管理着一个线程池,GCD不仅决定着代码块将在哪个线程被执行,它还根据可用的系统资源对这些线程进行管理。从而让开发者从线程管理的工作中解放出来,通过集中的管理线程,缓解大量线程呗创建的问题

    3.使用GCD,程序员可以将工作考虑为一个队列,而不是一堆线程,这种并行的抽象模型更容易掌握和使用。

     

  • 相关阅读:
    深入RESTful无状态原则
    基于Tomcat7、Java、WebSocket的服务器推送聊天室
    java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addServlet
    POI操作Excel常用方法总结
    第章 子例程引用与闭包
    集团企业数据信息系统建设方案
    集团企业数据信息系统建设方案
    不是更快更强,而是更加自如——2015年终总结
    RESTful_基础知识
    RESTful_基础知识
  • 原文地址:https://www.cnblogs.com/YTzZ/p/4918471.html
Copyright © 2011-2022 走看看