iOS线程中的那些词

同步,不具备开启线程的能力:dispatch_sync

异步,具备开启线程的能力:dispatch_async

 

并列队列:多个任务可以同时执行

串行队列:一个任务执行完后,再执行下一个任务

 

一个金典的列子:

#define ZHGlobalQueue dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)

#define ZHMainQueue dispatch_get_main_queue()

 

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

{

    dispatch_async(ZHGlobalQueue, ^{

        // 1.子线程

        NSString* urlStr = @"";

        NSURL *url = [NSURL URLWithString:urlStr];

        NSData *data = [NSData dataWithContentsOfURL:url];

        UIImage *image = [UIImage imageWithData:data];

        

        // 2.回主线程设置图片

        dispatch_async(ZHMainQueue, ^{

            [self.imageView setImage:image];

        });

    });

}

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。