NSOperation
来源:互联网 发布:淘宝内容营销效果评价 编辑:程序博客网 时间:2024/06/12 20:06
NSOperation: 抽象类,不能直接使用,需要使用其子类.(类似的类还有核心动画)
两个常用子类: NSInvocationOperation(调用) 和 NSBlockOperation(块);
两者没有本质区别,后者使用 Block 的形式组织代码,使用相对方便.
NSInvocationOperation在调用start方法后,不会开启新的线程只会在当前线程中执行。
NSBlockOperation 在调用start方法后,如果封装的操作数>1会开辟多条线程执行 =1 只会在当前线程执行.
NSOperationQueue 创建的操作队列默认为全局队列,队列中的操作执行顺序是无序的,如果需要让它有序执行需要添加依赖关系。
// 操作op3依赖于操作op2;
[op3 addDependency:op2];
// 操作op2依赖于操作op1;
[op2 addDependency:op1];
同时可以设置最大并发数
NSOperationQueue NSOperation支持 取消暂停的操作 但是正在进行的的操作并不能取消,这些操作一旦取消不可恢复.
0 0
- NSOperation
- NsOperation
- NSOperation
- NSOperation
- NSOperation
- NSOperation
- NSOperation
- NSOperation
- NSOperation
- NSOperation
- NSOperation
- NSOperation
- NSOperation
- NSOperation
- NSOperation
- NSOperation
- NSOperation
- NSOperation
- 乱序字符串算法
- npm 安装出现 UNMET DEPENDENCY 的解决方案
- 51Nod-1283-最小周长
- linux 用户权限管理 学习 经验
- GCD
- NSOperation
- 解决使用cocoapods插件报错:env: ruby_executable_hooks: No such file or directory
- linux运维
- [源码解析]HashMap和HashTable的区别(源码分析解读)
- [android] No resource found that matches the given name 'Theme.AppCompat.Light'
- no-siteapp 和 no-transform 有什么区别??
- BestCoder Round #85 题解(待续)
- A/B测试学习
- ImportError: no module named win32api