GCD
来源:互联网 发布:南京软件科技大学 筹 编辑:程序博客网 时间:2024/05/23 21:51
//并行队列
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);
__blockNSData *data = nil;
dispatch_sync(queue, ^{
NSURL *url = [[NSURLalloc]initWithString:@"http://localhost/userManager/0.jpg"];
NSURLRequest *request = [NSURLRequestrequestWithURL:url];
NSError *error =nil;
NSURLResponse *response =nil;
data = [NSURLConnectionsendSynchronousRequest:requestreturningResponse:&responseerror:&error];
if (error ==nil && data !=nil)
{
NSLog(@"下载成功了!");
//2、显示图片异步方式
dispatch_queue_t mainQueue =dispatch_get_main_queue();
dispatch_async(mainQueue, ^{
UIImage *images = [[UIImagealloc]initWithData:data];
[self.imagesetImage:images];
});
}
else
{
NSLog(@"下载失败!");
}
});
returnYES;