[第2章]多线程:NSOperation的简单使用
2015-08-10 19:09
295 查看
一、介绍
特点在GCD基础上实现
更好地控制和处理大量并发操作
比GCD速度稍慢
1、NSOperation
NSOperation是抽象类,使用方法:1、使用系统提供的子类;
2、自定义类。
依赖关系:
键值对象:
2、NSOperationQueue
NSOperationQueue,用于调度和管理NSOperation。二、使用系统类
(并行)NSBlockOperation代码
// 1、operation1和operation2 let operation1 = NSBlockOperation { sleep(1) NSLog("operation1: 1") } let operation2 = NSBlockOperation { sleep(2) NSLog("operation2: 1") } // 1、在operation2中额外添件一个block(NSOperation类似dispatch_group) operation2.addExecutionBlock { sleep(2) NSLog("operation2: 2") } // 2、添加依赖关系,和执行完operation2之后的操作(类似dispatch_group_notify) operation2.addDependency(operation1) operation2.completionBlock = { NSLog("operation2: OK") } // 3、创建一个队列,并添加operation到队列中。 let queue = NSOperationQueue() queue.addOperation(operation1) queue.addOperation(operation2) //--------------------------其他------------------------// // 手动禁止(或允许)新的operation加入队列。 queue.suspended = true queue.suspended = false // 设置最大并行运行数: queue.maxConcurrentOperationCount = 2
结果
operation1执行完,才到operation2,并行执行。
附录
NSInvocationOperation在swift中不能用自定义类
相关文章推荐
- hadoop提供了一个跑在yarn上的示例,可以运行
- Linux进程管理 - ps,top,pstree,signal,kill,killall举例演示
- Linux进程管理 - ps,top,pstree,signal,kill,killall举例演示
- Linux进程的实际用户ID和有效用户ID
- 4、嵌入式开发之centos6.6+vmware绑定双网卡
- 关于linux内核重要文件的基本描述
- 让自己的网站实现在线编辑office文档
- POJ 2115 C Looooops(扩展欧几里得)
- shelll编程-项目笔记
- Linux指令
- CentOS/Linux连接iscsi磁盘阵列
- Linux命令学习:date
- Linux搭建web服务器
- DEVOPS 技能列表
- 直接部署java项目到tomcat服务器
- tomcat内存设置
- Centos7 安装VNC
- sarg对squid的日志流量分析报表(按小时,天,周生成)
- Linux系统下jailkit的安装与使用示例
- java 利用org.apache.poi.hssf包编写excel导出文件