NSOperation的两个子类
NSInvocationOperation
NSBlockOperation
工作原理:
用NSOperation封装要执行的操作
将创建好的NSOperation对象放NSOperationQueue中
启动OperationQueue开始新的线程执行队列中的操作
注意事项:
使用多线程时通常需要控制线程的并发数,因为线程会消耗系统资源,同时运行的线程过多,系统会变慢
使用以下方法可以控制并发的线程数量:
(void)setMaxConcurrentOperationCount:(NSInteger)cnt;
不能直接使用NSOperation
定义完操作后,将添加到操作队列中,即可启动异步操作,否则操作任务仍然在主线程中执行
使用NSBlockOperation更加简单直接
使用setMaxConcurrentOperationCount可以限制并发操作数量,降低系统开销
使用addDependency可以建立操作之间的依赖关系,设定操作的执行顺序
时间: 2024-10-19 21:50:09