详解iOS中多线程app开发的GCD队列的使用

2020-01-14 17:58:18王振洲
易采站长站为您分析详解iOS中多线程app开发的GCD队列的使用,代码基于传统的Objective-C,需要的朋友可以参考下  

GCD的基本使用

一、主队列介绍

主队列:是和主线程相关联的队列,主队列是GCD自带的一种特殊的串行队列,放在主队列中得任务,都会放到主线程中执行。
提示:如果把任务放到主队列中进行处理,那么不论处理函数是异步的还是同步的都不会开启新的线程。
获取主队列的方式:

 

复制代码
 dispatch_queue_t queue=dispatch_get_main_queue();

 

 

 

(1)使用异步函数执行主队列中得任务,代码示例:

复制代码
//
//  YYViewController.m
//  12-GCD的基本使用(主队列)
//
//  Created by 孔医己 on 14-6-25.
//  Copyright (c) 2014年 itcast. All rights reserved.
//

 

#import "YYViewController.h"

@interface YYViewController ()

@end


复制代码
@implementation YYViewController

 

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    //打印主线程
     NSLog(@"打印主线程--%@", [NSThread mainThread]);
    
    //1.获取主队列
    dispatch_queue_t queue=dispatch_get_main_queue();
    //2.把任务添加到主队列中执行
    dispatch_async(queue, ^{
        NSLog(@"使用异步函数执行主队列中的任务1--%@",[NSThread currentThread]);
    });
    dispatch_async(queue, ^{
        NSLog(@"使用异步函数执行主队列中的任务2--%@",[NSThread currentThread]);
    });
    dispatch_async(queue, ^{
        NSLog(@"使用异步函数执行主队列中的任务3--%@",[NSThread currentThread]);