我有一个单独的NSOperationQueue来处理我的所有网络请求。但是,我注意到,当我运行一个特别长的操作时(此特定操作至少需要25秒),我的其他操作在完成之前不会运行。
maxConcurrentOperationCount设置为NSOperationQueueDefaultMaxConcurrentOperationCount,所以我不相信这是问题。
为什么会发生这种情况?除了产生多个NSOperationQueues(一个我不确定会起作用的解决方案,我也不确定它是个好主意),解决这个问题的最佳方法是什么?
感谢。
答案 0 :(得分:5)
根据the NSOperationQueue class reference NSOperationQueueDefaultMaxConcurrentOperationCount
表示“默认的最大操作数由NSOperationQueue对象根据当前系统条件动态确定。”我没有看到任何说默认值为> 1(特别是在单CPU系统上)。
尝试调用-setMaxConcurrentOperationCount:
来明确设置更大的值,看看是否有帮助。