GCD队列的注意事项

 队列中存放的任务最后都要由线程来执行!

        队列的原则:先进先出,后进后出(FIFO/ First In First Out)!

     队列的类型:

    <</span>1> '串行'队列:(Serial Dispatch Queue)

 存放按顺序执行的任务!(一个任务执行完毕,再执行下一个任务)

    注意两个非常常用的特殊队列

    <</span>1> 主队列: // UI 操作放在主队列中执行!

        跟主线程相关联的队列!

        主队列是 GCD 自带的一种特殊的串行队列!

        主队列中的任务都会在主线程中执行!

           <</span>2> 全局并发队列: // 一般情况下,并发任务都可以放在全局并发队列中!

  "同步""异步"的区别:

    "同步": 只能在'当前'线程中执行任务,不具备开启新线程的能力.

    "异步": 可以在''的线程中执行任务,具备开启新线程的能力.

常见的组合(掌握)

    1> dispatch_async + 全局并发队列 (可以开启多条线程)

    2> dispatch_async + 自己创建的串行队列 (开启一条线程)

        只有'异步'执行"并发"队列,才可以开启多条线程.

在主线程中同步执行主队列中的任务,会造成'主线程''主队列'相互等待,卡住主线程!

    

 

​ 

posted @ 2015-09-03 22:31  熊虎成  阅读(234)  评论(0编辑  收藏  举报