NSOperation & NSOperationQueue
2018-10-08 本文已影响0人
盖小聂
NSOperation与GCD的比较
1、NSOperation是GCD Objective-C对象的封装
2、NSOperation提供了一些GCD默认没有实现的更便捷的操作,比如取消任务,设置任务的依赖,设置任务的优先级的
3、通过键值观察机制观察NSOperation对象的属性
4、可以重用NSOperation对象
什么情况下需要子类化NSOperation ?
执行NSOperation有两种方法
方法一:丢进NSOperationQueue中,NSOperation会自动执行
方法二:手动调用NSOperation的start方法
NSOperation对象在手动执行的时候默认是同步执行,也会是说在调用start方法的线程中执行他们的任务。如果想手动执行一个operation,又想这个operation异步执行的话,需要做一些额外的配置才能让operation支持并发执行。
支持并发执行的NSOperation需要重载哪些方法?
- (void)start;
- (BOOL)isExecuting;
- (BOOL)isFinished;
- (BOOL)isConcurrent; //return YES;