GCD 是IOS一种任务管理调度方式。里面有几个概念比较绕,这里梳理下:
并行串行
并行串行,是队列中的任务是一个执行完再执行另外一个,还是同时执行。同时执行的时候,不保证谁先执行完。
并行串行指的是队列内任务的执行方式。
异步同步
同步是会阻塞当前的代码执行,等到任务完成后继续。异步是不阻塞当前的代码,立刻往下执行。
同步异步指的是代码调用队列的方式。
队列和任务
GCD通过队列来调度任务。任务及时需要进行的计算,一般是一个block。
GCD的队列有:
1. main 用来执行UI更新操作,是一个串行队列,在主线程执行
2. global 是一个并行队列。
3. custom 自定义队列,自己定义并行,串行队列。
可见GCD是一个任务调度工具,内部屏蔽了线程的调度和通信,所以如果需要精确的规划线程,则还远远不够。
网友评论