IOS--GCD多线程分析

GCD   Grand Central Dispatch  来实现多线程的一种方式 !


   1: 使用异步函数执行主队列中的任务

       dispatch_async(dispatch_get_main_queue(), ^{.....});的作用是将代码块中的工作转回到主线程。

        主队列:是和主线程相关联的队列,主队列是自带的一种特殊的串行队列,放在主队列中的任务,都会放到主线程中执行;

         提示:如果把任务放到主队列中处理,那么无论处理函数是异步还是同步都不会开启新的线程

       IOS--GCD多线程分析_第1张图片    


       IOS--GCD多线程分析_第2张图片


   2:并发操作:有很多没有关联的耗时操作我们可以考虑使用并发操作。GCD提供实现并发操作的方法

          IOS--GCD多线程分析_第3张图片


   3: 任务1和任务2是在主线程还是子线程,还是单独开启一个新的线程

     

      IOS--GCD多线程分析_第4张图片


  4: 开启子线程 使用GCD的方式,在子线程加载图片完毕,主线程根据加载的imge刷新UI;

   

    IOS--GCD多线程分析_第5张图片


   5: 线程间通信: 从子线程回到主线程

   

   IOS--GCD多线程分析_第6张图片

    


你可能感兴趣的:(IOS--GCD多线程分析)