gcd:控制并行任务的数量

时间:2015-04-19 16:10:16

标签: ios grand-central-dispatch

使用宏中央调度,有没有办法控制并发运行的任务数量?意思是,我想使用dispatch_async,称之为100次,但最多只能说4个并发运行的任务。如果四个任务中的两个同时完成,则应立即启动另外两个任务。我已经看到了在发送4个任务后使用屏障调度的建议,但这需要完成所有4个任务,然后是屏障,然后是更多任务 - 而不是我想要的任务。

1 个答案:

答案 0 :(得分:2)

改为使用NSOperationQueue,并将其maxConcurrentOperationCount参数设置为4。

Read about Operation Queues in the Concurrency Programming Guide