希望在 IOS 线程中,前 9个线程 异步执行,最后一个线程在前 9 个线程执行完毕再执行,请问如何实现?
我现在的思路:
思路1:
将这10 个任务添加到 operationQueue 中,设置并发为 9
思路2:
创建 GCD 并发队列,设置每个线程的优先权 ,前9 个很高,最后一个很低
请大神指正。。。拜谢
希望在 IOS 线程中,前 9个线程 异步执行,最后一个线程在前 9 个线程执行完毕再执行,请问如何实现?
我现在的思路:
思路1:
将这10 个任务添加到 operationQueue 中,设置并发为 9
思路2:
创建 GCD 并发队列,设置每个线程的优先权 ,前9 个很高,最后一个很低
请大神指正。。。拜谢
4 回答4.2k 阅读
2 回答1.8k 阅读✓ 已解决
1 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读
1 回答1.2k 阅读
1 回答1.1k 阅读
1 回答895 阅读
GCD 提供了
dispatch_group_async
和dispatch_group_notify
这样的方法来解决你提到的问题。参看代码:
将要异步执行的代码添加到 group 中去,调用 dispatch_group_notify 添加 group 执行完毕后要执行的方法,然后就完成啦〜
印象中 NSOperation 也有类似的东西在里面,你自己找找吧。下面的文章你可以仔细看下,这是一个系列介绍 Cocoa 中的异步,写的很赞
iOS多线程编程Part 3/3 - GCD