花了很大力气整理了GCD队列在同步异步情况下在主线程和其他线程触发时的情况,主队列属于特殊的串行队列,单独列出
GCD队列与同步异步组合情况串行队列:保证任务按照顺序执行,但不保证在同一线程上执行
并发队列:保证任务按照顺序开始,具体执行线程由GCD调度
主队列:保证任务在主线程上按照顺序执行(极特殊情况,例如dispatch_main()阻塞主线程时,可在其他线程上运行)
async:将任务加入队列,并立即返回
sync:阻塞当前任务,尝试由当前线程执行block任务,如果sync到main,则会切换到main执行
网友评论