iOS多线程应用开发中使用NSOperation类的基本方法

2020-01-14 16:31:27王旭

    }];
    
    [operation addExecutionBlock:^{
        NSLog(@"NSBlockOperation2------%@",[NSThread currentThread]);
    }];
    
    //开启执行操作
    [operation start];
}
@end


 

iOS多线程应用开发中使用NSOperation类的基本方法

注意:只要NSBlockOperation封装的操作数 > 1,就会异步执行操作

 

3.NSOperationQueue

NSOperationQueue的作⽤:NSOperation可以调⽤start⽅法来执⾏任务,但默认是同步执行的

如果将NSOperation添加到NSOperationQueue(操作队列)中,系统会自动异步执行NSOperation中的操作

添加操作到NSOperationQueue中,自动执行操作,自动开启线程

复制代码
//创建NSOperationQueue
    NSOperationQueue * queue=[[NSOperationQueue alloc]init];
    //把操作添加到队列中
    //第一种方式
    [queue addOperation:operation1];
    [queue addOperation:operation2];
    [queue addOperation:operation3];
    //第二种方式
    [queue addOperationWithBlock:^{
        NSLog(@"NSBlockOperation3--4----%@",[NSThread currentThread]);
    }];
复制代码
- (void)addOperation:(NSOperation *)op;
- (void)addOperationWithBlock:(void (^)(void))block; 
代码示例:
复制代码
//
//  YYViewController.m
//  03-NSOperation基本3
//
//  Created by 孔医己 on 14-6-25.
//  Copyright (c) 2014年 itcast. All rights reserved.
//

 

#import "YYViewController.h"

@interface YYViewController ()

@end