此项目用于理解iOS中的线程与队列、同步与异步、串行与并行这些概念。
主线程队列为串行队列,和主线程绑定。同普通串行队列一样,队列中任务一次只能执行一个,但是队列中所有任务都在主线程中执行(经过测试,即使是异步添加的任务,也没有创建新的线程)。
系统全局队列为并发队列,根据不同的优先级(HIGH、DEFAULT、LOW、BACKGROUND)有四个。
系统提供方法,可以自定义创建串行和并行队列。
同步与异步:决定可不可以开启新的线程
同步:在当前线程立即执行添加的任务,不具备开启新线程的能力。
异步:在新的线程中执行任务,具备开启新线程的能力
并行与串行:决定了任务的执行方式
并行:可以多个任务并发(同时)执行。类型迅雷,多个任务同时开启下载
串行:一个任务执行完毕后,再执行下一个任务。类似浏览器的一个接一个下载