创建队列
第一种
- 第一个参数:C语言的字符串,标签
- 第二个参数:队列的类型
DISPATCH_QUEUE_CONCURRENT:并发
DISPATCH_QUEUE_SERIAL:串行
dispatch_queue_t queue = dispatch_queue_create("ht", DISPATCH_QUEUE_CONCURRENT);
第二种
- 获取一个全局并发队列
- 第一个参数:优先级,一般使用默认,background优先级最低
- 第二个参数:写0即可
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT , 0);
两种方法区别
1.第一个是直接创建,可以选择时并发还是串行
2.第二个是获取,说明系统已开始就存在
创建任务
1.封装任务
2.添加任务到队列中
- 第一个参数:队列
- 第二个参数:要执行的任务,再block中
dispatch_async(queue, ^{
<#code#>
})
注意
不是说有几个任务就开几条线程,是系统任务这些任务开几个线程合适就开几个线程