GCD调度组的并发限制是多少?

Kel*_*Lau 1 grand-central-dispatch ios swift

我一直在使用A DispatchGroup来促进应用程序中的多个并发调用。

我的后端团队注意到,当我尝试进行八个并发呼叫时,它们被分为四个批次的两个批次。

  1. 四个并发呼叫是否限制了GCD?
  2. 这是GCD框架的限制,还是取决于硬件?
  3. 有没有办法允许更多并发呼叫?

Dav*_*rry 5

从GCD参考:

并发队列(也称为全局调度队列的一种)可以并发执行一个或多个任务,但是任务仍然按照将它们添加到队列中的顺序启动。当前执行的任务在分派队列管理的不同线程上运行。在任何给定点执行的任务的确切数量是可变的,并且取决于系统条件。

系统自动(动态)确定要同时执行多少个任务。除其他外,它基于电池状态,内核数,系统负载等。

有关更多信息,请参见调度队列