1.GCD简介:
(1)全称是 Grand Central Dispatch
(2)纯C语言,提供了非常强大的函数
(3)优势:一、苹果公司为多核的并行运算提出的解决方案 二、自动利用更多的CPU内核 三、自动 管理线程的生命周期
2.任务
同步方式执行任务
dispatch_sync(dispatch_queue_t queue, ^{
// 执行的任务
})
异步执行任务
dispatch_async(dispatch_queue_t queue, ^{
// 执行什么任务
})
3.多线程一次性操作
static dispatch_once_t oncetekon ;
dispatch_once(&oncetekon, ^{
});
5.多次操作
dispatch_apply(10, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(size_t index) {
// 添加代码 代码执行并发执行10次; DISPATCH_QUEUE_PRIORITY_DEFAULT优先级 高 底 默认等
});
6. 队列组
dispatch_group_t group = dispatch_group_create();
dispatch_group_async(group, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
// 执行代码1
});
dispatch_group_async(group, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
// 执行代码2
});
dispatch_group_notify(group, dispatch_get_main_queue(), ^{
// 当1、2执行完之后执行代码3 其中1、2为并发执行
});