博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NSOperation、NSOperationQueue(III)
阅读量:4922 次
发布时间:2019-06-11

本文共 1577 字,大约阅读时间需要 5 分钟。

NSOperation、NSOperationQueue 常用属性和方法归纳

NSOperation 常用属性和方法

a. 取消操作方法

//可取消操作,实质是标记 isCancelled 状态。- (void)cancel;

b. 判断操作状态方法

1 - (BOOL)isFinished; 判断操作是否已经结束。2 3 - (BOOL)isCancelled; 判断操作是否已经标记为取消。4 5 - (BOOL)isExecuting; 判断操作是否正在在运行。6 7 - (BOOL)isReady; 判断操作是否处于准备就绪状态,这个值和操作的依赖关系相关。

c. 操作同步

1 - (void)waitUntilFinished; 阻塞当前线程,直到该操作结束。可用于线程执行顺序的同步。2 3 - (void)setCompletionBlock:(void (^)(void))block;completionBlock 会在当前操作执行完毕时执行 completionBlock。4 5 - (void)addDependency:(NSOperation *)op; 添加依赖,使当前操作依赖于操作 op 的完成。6 7 - (void)removeDependency:(NSOperation *)op; 移除依赖,取消当前操作对操作 op 的依赖。8 9 @property (readonly, copy) NSArray
*dependencies; 在当前操作开始执行之前完成执行的所有操作对象数组。

 

 

10.2 NSOperationQueue 常用属性和方法

a. 取消/暂停/恢复操作

1 - (void)cancelAllOperations; 可以取消队列的所有操作。2 3 - (BOOL)isSuspended; 判断队列是否处于暂停状态。 YES 为暂停状态,NO 为恢复状态。4 5 - (void)setSuspended:(BOOL)b; 可设置操作的暂停和恢复,YES 代表暂停队列,NO 代表恢复队列。

 

b. 操作同步

1 - (void)waitUntilAllOperationsAreFinished; 阻塞当前线程,直到队列中的操作全部执行完毕。

c. 添加/获取操作

1 - (void)addOperationWithBlock:(void (^)(void))block; 向队列中添加一个 NSBlockOperation 类型操作对象。2 3 - (void)addOperations:(NSArray *)ops waitUntilFinished:(BOOL)wait; 向队列中添加操作数组,wait 标志是否阻塞当前线程直到所有操作结束4 5 - (NSArray *)operations; 当前在队列中的操作数组(某个操作执行结束后会自动从这个数组清除)。6 7 - (NSUInteger)operationCount; 当前队列中的操作数。

d. 获取队列  

注意:

a. 这里的暂停和取消(包括操作的取消和队列的取消)并不代表可以将当前的操作立即取消,而是当当前的操作执行完毕之后不再执行新的操作。

b. 暂停和取消的区别就在于:暂停操作之后还可以恢复操作,继续向下执行;而取消操作之后,所有的操作就清空了,无法再接着执行剩下的操作。

1 + (id)currentQueue; 获取当前队列,如果当前线程不是在 NSOperationQueue 上运行则返回 nil。2 + (id)mainQueue; 获取主队列。

转载于:https://www.cnblogs.com/EchoHG/p/8685820.html

你可能感兴趣的文章
fabric网关模式文件上传与执行
查看>>
转:一千行 MySQL 学习笔记
查看>>
hadoop控制map个数(转)
查看>>
SVProgressHUD 用法
查看>>
【BZOJ】【1046】/【POJ】【3613】【USACO 2007 Nov】Cow Relays 奶牛接力跑
查看>>
Django表单
查看>>
ini 文件操作记要(2): 使用 TMemIniFile
查看>>
(第3篇)HDFS是什么?HDFS适合做什么?我们应该怎样操作HDFS系统?
查看>>
隐藏 DataGrid 中 DataSource 为 DataTable 的 DataColumn (Visual C#)
查看>>
【译 】Solr in Action 第一章
查看>>
计算几何初步模板
查看>>
POJ 数据结构(2)
查看>>
HDU 3869 Color the Simple Cycle (Polya计数法)
查看>>
String字符串常用方法
查看>>
猴子们的研究
查看>>
[Python]小甲鱼Python视频第027课(集合:在我的世界里,你就是唯一)课后题及参考解答...
查看>>
sed
查看>>
关系数据库-----SQL标准语言
查看>>
java设计模式----中介模式
查看>>
常用通用JS函数
查看>>