iOS 多线程-GCD任务+队列.
iOS 多线程-GCD队列组.
iOS 多线程-GCD栅栏方法.
上一篇文章记录了队列组的使用,是为了处理多个任务之间的顺序。但是开发中会出现多组任务的顺序问题。
例如:现在有两组任务,每组任务中有多个任务需要并发处理,但是两组任务之间需要顺序执行。这个时候需要用到GCD多线程处理的另一种方式:栅栏方法(dispatch_barrier_async)。
栅栏方法(dispatch_barrier_async)
栅栏方法:就是像筑起一个栅栏一样,将队列中的多组线程任务分割开。
- (void)queueGroupBarrier{
//创建线程队列
dispatch_queue_t queue = dispatch_queue_create("barrier", DISPATCH_QUEUE_CONCURRENT);
//创建异步任务并添加到队列
dispatch_async(queue, ^{
//任务1
for (int i = 0; i < 3; i++) {
[NSThread sleepForTimeInterval:2];
NSLog(@"任务1的执行=