NSOperation

知其然亦知其所以然--NSOperation并发编程

iOS多线程:『NSOperation、NSOperationQueue』详尽总结

NSOperation是基于 GCD 更高一层的封装,完全面向对象。但是比 GCD 更简单易用、代码可读性也更高。

NSOperation可以直接使用NSBlockOperation和NSInvovationOpeartion来封装自己的操作。此外也可以通过自定义NSOperation来封装自己的操作。

NSOperationQueue通过maxConcurrentOperationCount属性控制并发量,当为1时为串行执行。默认值为-1,不设限制,根据系统环境控制并发量。

对于NSOperation的介绍和使用可以看这篇文章iOS多线程:『NSOperation、NSOperationQueue』详尽总结,介绍的非常详细。

自定义NSOperation

自定义NSOperation分为两种,并行和串行。

串行的NSOperation只需要重写main方法即可。

并行的NSOperation首先需要重写isAsynchronous返回YES,表示改Operation为并行。重写start方法,一般不需要重写main 方法。还需要手动发送 isExecuteing、isFinished、isCancelled这些属性的KVO消息。

对于自定义NSOperation这篇文章写的很详细:iOS多线程:『NSOperation、NSOperationQueue』详尽总结

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

推荐阅读更多精彩内容