NSOperation和NSOperationQueue-05

NSOperation是一个基类,不能直接使用,可以自定义继承于NSOperation,或者使用它的子类NSIvocationOperation和NSBlockOperation。

1》NSOperation是一个任务操作,创建后,需要调用start方法才能开启操作,执行着的任务操作不能cancel、暂停,只能cancel、暂停等待中

  的任务。

2》自定义operation的话,需要重写main或者start方法,因为start方法默认会调用main方法。注意要控制好内存问题,最好用自动释放池

  autorelease。

3》NSOperation默认是同步的,因为它属性isConcurrent(readonly,现在是isAsynchronous=0)默认为NO。

NSOperationQueue是管理operation的,把操作任务添加到队列中,队列会自动去调用任务的start方法,而start又会去调用main方法。

1》NSOperationQueue默认的最大并发数是-1,就是没有限制,所以默认是并发的队列,是异步执行的。

2》如果设置最大并发数为1,就成了并发的队列,同步执行的。

原文地址:https://www.cnblogs.com/fkunlam/p/4410132.html