简介
NSOperation封装了需要执行的操作和执行操作所需的数据,提供了并发或非并发操作,可以设置最大并发数,取消操作等。
使用NSOperation的方式 (2种)
- 直接使用系统提供的两个子类:NSInvocationOperation和NSBlockOperation
- 继承于NSOperation,自定义操作
NSOperation基类API
1.执行任务
NSOperation提供了start方法开启任务执行操作,NSOperation对象默认按同步方式执行,也就是在调用start方法的那个线程中直接执行。
NSBlockOperation *operation = [NSBlockOperation blockOperationWithBlock:^{ //任务操作 }]; if (!operation.isExecuting){ [operation start]; }
但是,当我们使用NSOperationQueue时,将operation添加到queue中,任务会自动开启,任务会在异步线程去执行任务。