NSOperation其他用法

最大并发数

1.创建队列

NSOperationQueue *queue = [[NSOperationQueue alloc] init];

2.设置最大并发数量 maxConcurrentOperationCount
//同一时间最多有多少个任务可以执行
//串行执行任务!=只开一条线程(线程同步)
maxConcurrentOperationCount > 1 并发队列
maxConcurrentOperationCount == 1 串行队列
maxConcurrentOperationCount == 0 不会执行任务
maxConcurrentOperationCount == -1 特殊意义 最大值 表示不受限制

queue.maxConcurrentOperationCount = 1;

暂停(可以恢复)

[queue setSuspended:YES];

取消(不可以恢复)

[queue cancelAllOperations];
  • 暂停和取消不能暂停和取消当前正在执行状态的任务
    队列中的任务也是有状态的:已经执行完毕的 | 正在执行 | 排队等待状态
在自定义中使用NSOperation
  • 我们在main函数中写上了耗时操作,我们想要取消,我们需要判断一下即可
  • 我们点击了取消,在一个耗时操作结束后判断一下我们是否点击了,如果点击了直接取消,没有点击继续执行
  • isCancelled属性就是判断是否取消了操作(NSOperationQueue的属性)
if(self.isCancelled) return;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iOS开发疯狂者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值