您的位置:首页 > 移动开发 > IOS开发

GCD

2016-07-03 22:13 344 查看
//并行队列

    dispatch_queue_t mainQueue =dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,
0);

    

   
//2、将相应的任务加到队列中

    dispatch_async(mainQueue, ^{

        for (int i=
0 ; i < 100; i++)

        {

            NSLog(@"线程1:i
= %d",i);

        }

    });

    dispatch_sync(mainQueue, ^{

        for (int i=
0 ; i < 100; i++)

        {

            NSLog(@"线程2:i
= %d",i);

        }

    });

//任务分解成两个子任务

   
//1、下载图片同步方式

    dispatch_queue_t queue =
dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,
0);

   __block
NSData *data = nil;

    dispatch_sync(queue, ^{

        NSURL *url = [[NSURL
alloc]initWithString:@"http://localhost/userManager/0.jpg"];

        

        NSURLRequest *request = [NSURLRequest
requestWithURL:url];

    

        NSError *error =
nil;

        NSURLResponse *response =
nil;

        data = [NSURLConnection
sendSynchronousRequest:request
returningResponse:&response
error:&error];

        if (error ==
nil && data !=nil)

        {

            NSLog(@"下载成功了!");

            //2、显示图片异步方式

            dispatch_queue_t mainQueue =
dispatch_get_main_queue();

            dispatch_async(mainQueue, ^{

                UIImage *images = [[UIImage
alloc]initWithData:data];

                

                [self.image
setImage:images];

            });

            

        }

        else

        {

        NSLog(@"下载失败!");

        }

    });

    return
YES;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iOS