黑马程序员技术交流社区

标题: 详解iOS中多线程app开发的GCD队列的使用 [打印本页]

作者: 602516169    时间: 2016-9-4 07:08
标题: 详解iOS中多线程app开发的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]);
    });
}
@end




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2