//具有一定功能的代码块,一般是一个block或者函数。
//GCD以队列的方式进行工作,FIFO。
GCD中的两种队列:
//SerialQueue:一次只执行一个任务。通常用于同步访问特定资源或数据。
//创建多个SerialQueue,各自的内部线程是同步执行,但是一个SerialQueue和另一个SerialQueue之间是并发执行的。所以,就只看单独一个的SerialQueue是能实现线程同步。
//ConcurrentQueue:可以并发地执行多个任务,但是遵守FIFO。这里的FIFO不是你的代码里添加到队列中的FIFO,而是处理器选择队列上的FIFO,所以,有些时候,运行出来的结果会跟你的代码的添加进队列的顺序是不一样的。但是一个ConcurrentQueue的内部线程之间就是并发执行的。
//GCD的队列方式:
//1.主队列--串行队列
//2.全局队列--并行队列
//3.自定义队列{串行、并行}
//主队列 和 全局队列都是单例.都是直接从系统中获取的。