NSOperation 和 NSOperationQueue

NSOperaton 是个抽象类,并不具备封装操作的能力,必须使用它的子类,下面是它的三种子类。

1 NSInvocationOperation

NSInvocationOperation使用格式

2 NSBlockOperation

NSBlockOperation的使用格式

3 自定义子类继承自NSOperation,实现-main方法

创建自定义的NSOperation
main方法中实现

NSOperationQueue:(操作队列)有两种队列,主队列 通过 mainQueue获得,凡是放到主队列中的任务都将在主线程执行。非主队列 直接 alloc init 出来的队列。非主队列同时具备了并发和串行的功能,通过设置最大并发数属性来控制。在非主队列中,设置最大并发数maxConcurrentOperationCount 该属性的设置需要在任务添加到队列中之前进行设置,如果最大并发数等于1,那么该队列是串行的,如果大于1那么该队列是并行的,系统的最大并发数有个默认的值,为 -1 如果该属性的值设置为0 那么不会执行该任务。

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

将操作添加到队列中
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容