NSOperation - 02

NSOperationQueue作用:

NSOperation可以调用start方法来执行任务,但默认是同步执行的;如果将NSOperation添加到NSOperationQueue中,系统会自动异步执行NSOperation中的操作;

添加操作到NSOperationQueue中:

- (void)addOperation:(NSOperation *)p;

- (void)addOperationWithBlock:(void (^)(void))block;

最大并发数: 同时执行任务的最大数;开启新线程的最大数;

队列的取消、暂停、恢复:

取消操作:

- (void)cancelAllOperation;    
(队列方法,全部取消)

- (void)cancle;                
(操作方法,取消单个操作)

暂停和恢复:

- (void)setSuspended(BOOL)b;
    //YES代表暂停队列,NO代表恢复队列;

使用场景:在一个UITableView中,有加载数据图片的时候,当你滑动表单时,可以暂停队列任务,当你停止滑动,你就可以恢复队列任务;

操作优先级:

1,设置NSOperation在queue中的优先级,可以改变操作的执行优先级;

- (NSOperationQueuePriority)queuePriority;

- (void)setQueuePriority:(NSOperationQueuePriority)p;

2,优先级的取值;

(1)NSOperationQueuePriorityVeryLow = -8L;

(2)NSOperationQueuePriorityLow = -4L;

(3)NSOperationQueuePriorityNormal = 0;

(4)NSOperationQueuePriorityHigh = 4;

(5)NSOperationQueuePriorityVeryHigh = 8;

操作依赖:

1,NSOperation之间可以设置依赖来保证执行顺序;

比如一定要让操作A执行完后,才能执行操作B,可以这么写

[operationB addDependency:operationA];  //操作B依赖于操作A

2,可以不同queue的NSOperation之间创建依赖关系;

监听:

- (void)opeationListen

{

NSBlockOperation *operation = [NSBlockOperation blockOperationWithBlock:^{

for (int i = 0; i<10; i++) {

NSLog(@"NSBlockOperation------下载图片---%@", [NSThread currentThread]);

}

}];

operation.completionBlock = ^{

// ...下载完图片后想做事情

NSLog(@"NSBlockOperation------下载图片完毕---%@", [NSThread currentThread]);

};

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

[queue addOperation:operation];

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-11 14:22:28

NSOperation - 02的相关文章

百度刚放假啊数据库风口浪尖萨拉疯了

http://www.ebay.com/cln/l_x5585/2015.02.11/176746639012 http://www.ebay.com/cln/jiacha_boryk/2015.02.11/176837188016 http://www.ebay.com/cln/gbnlin0/2015.02.11/176837189016 http://www.ebay.com/cln/j_j2841/2015.02.11/177066749015 http://www.ebay.com/c

百度房间爱师傅卡卡是快乐疯了;爱死

http://www.ebay.com/cln/shx9479/-/177007606013/2015.02.11 http://www.ebay.com/cln/genqi12/-/176846034010/2015.02.11 http://www.ebay.com/cln/seyyon2/-/176906811016/2015.02.11 http://www.ebay.com/cln/wcn5971/-/176846032010/2015.02.11 http://www.ebay.co

百度和房价是否健康教案上开发

http://www.ebay.com/cln/l.kuan2/-/167247714018/2015.02.10 http://www.ebay.com/cln/setlia-3616/-/167086016019/2015.02.10 http://www.ebay.com/cln/pen-y77/-/167086017019/2015.02.10 http://www.ebay.com/cln/yua-me2/-/167399441016/2015.02.10 http://www.eba

百度电话费健身房拉伸件礼服加拉斯减肥

http://www.ebay.com/cln/cnli_c90nphs5e/-/167379958016/2015.02.07 http://www.ebay.com/cln/gaw4612/-/167226239018/2015.02.07 http://www.ebay.com/cln/re_len4/-/167263594010/2015.02.07 http://www.ebay.com/cln/ta.ku83/-/167162702017/2015.02.07 http://www.

百度回复金卡是减肥拉进来收付款

http://www.ebay.com/cln/cnli_c90nphs5e/-/167379958016/2015.02.08 http://www.ebay.com/cln/gaw4612/-/167226239018/2015.02.08 http://www.ebay.com/cln/re_len4/-/167263594010/2015.02.08 http://www.ebay.com/cln/ta.ku83/-/167162702017/2015.02.08 http://www.

百度放假哈萨克就发了设计费拉萨

http://www.ebay.com/cln/ldicn.mz6dm/2015.02.11/177030163015 http://www.ebay.com/cln/tan_qi5/2015.02.11/176903144013 http://www.ebay.com/cln/l.lu104/2015.02.11/177030175015 http://www.ebay.com/cln/ya01191/2015.02.11/176722580014 http://www.ebay.com/cl

百度房间撒谎发卡上就发了空间啊

http://www.ebay.com/cln/h-h4129/2015.02.11/176819191016 http://www.ebay.com/cln/fendo88/2015.02.11/176613943017 http://www.ebay.com/cln/ygon288/2015.02.11/176727517018 http://www.ebay.com/cln/ta.ch17/2015.02.11/176613950017 http://www.ebay.com/cln/g-

百度房间沙发客服就考试考几分离开

http://www.ebay.com/cln/jinlon8/book/167309734010/2015.02.10 http://www.ebay.com/cln/bam5330/book/167115292019/2015.02.10 http://www.ebay.com/cln/yi_za70/book/167315676012/2015.02.10 http://www.ebay.com/cln/y.y3463/book/167285977014/2015.02.10 http:/

Web Service学习笔记之----JAX-RPC

众所周知,数据科学是这几年才火起来的概念,而应运而生的数据科学家(data scientist)明显缺乏清晰的录取标准和工作内容.此次课程以<星际争霸II>回放文件分析为例,集中在IBM Cloud相关数据分析服务的应用.面对星际游戏爱好者希望提升技能的要求,我们使用IBM Data Science Experience中的jJupyter Notebooks来实现数据的可视化以及对数据进行深度分析,并最终存储到IBM Cloudant中.这是个介绍+动手实践的教程,参会者不仅将和讲师一起在线