iOS多线程

一、GCD:

1、GCD队列:

(1)定义dispatch_queue_t  queue;

(2)创建一个队列:dispatch_queue_t  queue = dispatch_queue_create("QueueId", DISPATCH_QUEUE_CONCURRENT);

  参数一:QueueId队列唯一标示;

  参数二:DISPATCH_QUEUE_CONCURRENT标示并行(DISPATCH_QUEUE_SERIAL串行)

2、开启线程任务:

(1)同步线程,加入队列

 dispatch_sync(queue, ^{

        // 线程任务 执行结束后返回主线程

         dispatch_sync(dispatch_get_main_queue(), ^{

            });

    });

(2)异步线程,加入队列

 dispatch_async(queue, ^{   

       // 线程任务 执行结束后返回主线程

         dispatch_sync(dispatch_get_main_queue(), ^{

            });

    });

注:(1)异步线程执行耗时代码块后需要返回主线程刷新UI

        (2)开发中常用到的一般为并行队列异步执行

二、NSOperation:

NSOperation是一个抽象类,使用其子类

1、NSOperationQueue队列

(1)创建队列

  NSOperationQueue * queue = [[NSOperationQueue alloc] init];

  [queue setMaxConcurrentOperationCount:4];//最大执行量

2、开启线程加入队列

(1)方式一:NSBlockOperation * operation = [NSBlockOperation blockOperationWithBlock:^{

                                                                         // 线程任务 执行结束后返回主线程

                                                                         [[NSOperationQueue mainQueue] addOperationWithBlock:^{}];

                                                                           }];

    [queue addOperation:operation];

以上为常用的多线程,iOS开发中还有很多,就不一一举例;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值