使用 DispatchGroup
和 NSRecursiveLock
有什么区别(优点和缺点)?
看起来他们在做完全相同的事情。
最佳答案
锁和组的用途截然不同。在处理一系列并发任务时:
锁通常用于防止/阻止这些任务同时与一些共享的、非线程安全的资源交互。
组通常用于标识这些并发任务何时全部完成(无论它们完成的顺序如何)。
例如,如果并行处理一系列图像,您可能会使用锁或类似机制来更新某些属性(例如结果数组),而调度组用于了解所有这些并发任务何时完成完成了。
关于multithreading - 使用 DispatchGroup 和 NSRecursiveLock 有什么区别(优点和缺点)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58106347/