GCD

1、GCD的两个核心概念

  • 任务:执行什么操作
  • 队列:用来存放任务

2、将任务添加到队列中

  • GCD会将队列中的任务取出,放到对应的线程中执行
  • 任务遵循队列的FIFO原则-先进先出

3、GCD有两种用来执行任务的函数

  • 同步

      dispatch_sync(dispatch_queue_t queue,dispatch_block_t block);

  • 异步

    dispatch_async(dispatch_queue_t,,dispatch_block_t block);

  同步和异步的区别

同步:只能在当前的线程中执行任务,不能开启新的线程

异步:可以新的线程中执行任务,可以开启新的线程

4、GCD有两种队列

  • 并发队列:可以多个任务同时执行(DISPATCH_QUEUE_SERIAL),并且只有在异步函数中在有效
  • 串行队列:任务只能一个接一个的执行,只有当前任务执行完毕才能执行下一个任务
原文地址:https://www.cnblogs.com/banchuangshuying/p/6296208.html