队列会帮我们创建一个辅助线程 . 里面只能添加NSOperation 以及子类的对象
NSOperation 是一个操作单元 ,用来执行方法 , 是一个抽象类 , 必须子类化或者使用系统创建好的子类 (NSInvocationOperation 和 NSBlockOperation)
NSOperation 是最小的操作单元, 只能执行一次
队列 : 先进先出
栈 : 先进后出
队列里涉及到 串行 和 并行
串行: 一次只能执行一个任务
并行: 一次可以执行多个任务
第一步 : 创建 InvocationOperation
NSInvocationOperation * invocation = [[NSInvocationOperation alloc]initWithTarget:self selector:@selector(banZhuan) object:nil];
第二步 : 执行 不添加到队列中时 .会在主线程中执行
// [invocation start];
创建 BlockOperation
NSBlockOperation * block = [NSBlockOperation blockOperationWithBlock:^{
[self banZhuan];
}];
第二步: 执行 不添加到队列中时 .会在主线程中执行
// [block start];
NSOperationQueue * queue = [[NSOperationQueue alloc]init];
只要把操作单元添加到队列中就会执行
[queue addOperation:block];
最大并行数 设置 1 串行 大于 1 并行
[queue setMaxConcurrentOperationCount:1];
[queue addOperations:@[invocation , block] waitUntilFinished:NO];
[queue release];
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。