App*_*Dev 3 concurrency multithreading grand-central-dispatch ios
我需要执行三个彼此独立的任务,所以我想同时执行它们.但我需要他们所有人完成通知另一个对象.AFAIK,*dispatch_apply*创建并发线程,但它迭代一个集合或一个对象数组,并执行相同的任务多个循环,我想为每个线程执行不同的任务.使用GCD可以做我想做的事吗?如果没有,那么最好的方法是什么?
谢谢!
用一个dispatch_group." 并发编程指南"给出了一个示例,还有更多API可能对您有所帮助.
dispatch_group_create.通过使用将它们排队,将每个"任务"放入组中dispatch_group_async.
(或者,在每个任务开始和停止时手动告诉GCD,使用dispatch_group_enter和dispatch_group_leave.)
要在组中的所有任务完成后运行块,请使用它进行排队dispatch_group_notify.
(或者,在不太可能的情况下,您的应用程序的设计允许您同步等待,请dispatch_group_wait改为使用.)
dispatch_release时候.| 归档时间: |
|
| 查看次数: |
1442 次 |
| 最近记录: |