出自简书 : https://www.jianshu.com/p/2d57c72016c6
在 GCD 中有两种队列:串行队列和并发队列。两者都符合 FIFO(先进先出)的原则。两者的主要区别是:执行顺序不同,以及开启线程数不同。
GCD 六种组合(主线程+同步执行 会锁卡) (并发队列的并发功能只有在异步(dispatch_async)函数下才有效)
线程通信:(例子见网址的参考。)
在iOS开发过程中,我们一般在主线程里边进行UI刷新,例如:点击、滚动、拖拽等事件。我们通常把一些耗时的操作放在其他线程,比如说图片下载、文件上传等耗时操作。而当我们有时候在其他线程完成了耗时操作时,需要回到主线程,那么就用到了线程之间的通讯。