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』详尽总结

你可能感兴趣的:(NSOperation)