NSOperationQueue XXXX isFinished=YES without being started by the queue it is in

本文介绍了在iOS开发中遇到的一个关于NSOperationQueue的异常问题,当用户暂停队列中的任务时,系统抛出'isFinished=YES without being started by the queue it is in'的错误。分析了问题产生的原因,强调了在Queue中操作的正确管理方式,包括重写start方法以处理取消操作的情况,并提供了一种解决方案,通过添加标志位 '_hasStart' 来确保KVO的正确使用。
摘要由CSDN通过智能技术生成

刚入职公司,负责iOS组的全部工作,同事就给我找了一个难啃的BUG,如题:XXXX isFinished=YES without being started by the queue it is in


问题研究:

1、为何造成 Queue里的operation 先于start方法执行了 isFinished=YES


a、项目有文件上传下载队列需求

b、对线程执行要求并发

c、设置的最大并发量是2


场景:用户上传3个文件 123

问题出来了:

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值