据说:
GCD lets us create groups, which allow you to place your tasks in one place, run all of them, and get a notification at the end from GCD. Those group blocks of code together ensure that all of them get executed by GCD one by one, as dependencies of one another.
由于这些 block 正在一个接一个地执行,因此从技术上讲,dispatch_group 的 GCD 函数应该是 dispatch_group_sync 而不是 dispatch_group_async。
提前感谢您的精彩解释。
最佳答案
因为这里的async是相对于block提交的thread(Common main tread)而言的。
您不需要将组同步到该线程,您只需将代码添加到该线程,代码一个一个地执行。
此外,还有调度组。
- 如果将任务添加到串行队列 (
DISPATCH_QUEUE_SERIAL
),则可以让任务一个接一个地执行。 - 如果将这些任务添加到并发队列 (
DISPATCH_QUEUE_CONCURRENT
),您还可以让这些任务并发执行。
关于ios - 为什么 GCD 中的组没有 dispatch_group_sync 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30343031/