GCD中获取各种类型的队列:
串行队列异步执行任务
- 异步具有创建新线程的能力,会开辟新线程去执行任务;
- 按照串行的方式去执行任务。
如下调用方式可参考:
串行队列同步执行任务
- 同步不具有创建新的线程的能力, 不会开辟新的线程去执行任务,会在当前的程序的主线程中去执行任务;
- 按照串行的方式去执行任务。
如下调用方式可参考:
并发队列异步执行任务(常用)
- 异步具有创建新的线程的能力,会开辟新的线程去执行任务,不会在当前的程序的主线程中去执行任务;
- 按照并发的方式去执行任务。
如下调用方式可参考:
并发队列同步执行任务
- 同步不具有创建新的线程的能力, 不会开辟新的线程去执行任务,会在当前的程序的主线程中去执行任务;
- 按照同步的方式去执行任务。
如下调用方式可参考:
主队列的同步(会造成程序的死锁)
如下:
主队列的异步(在主线程中顺序执行)
新添加到主队列中的任务会放到队列的最尾部,等到当前主线程中的任务结束之后然后再从队列的头部取出依次执行(FIFO)先进先出。
如下调用方式可参考:
异步方法的实现
|
|
同步方法的实现
|
|