使用宏中央调度,有没有办法控制并发运行的任务数量?意思是,我想使用dispatch_async,称之为100次,但最多只能说4个并发运行的任务。如果四个任务中的两个同时完成,则应立即启动另外两个任务。我已经看到了在发送4个任务后使用屏障调度的建议,但这需要完成所有4个任务,然后是屏障,然后是更多任务 - 而不是我想要的任务。
答案 0 :(得分:2)
改为使用NSOperationQueue
,并将其maxConcurrentOperationCount
参数设置为4。
Read about Operation Queues in the Concurrency Programming Guide