如果任务产生不同的线程,Serial DispatchQueue 会等待吗
Posted
技术标签:
【中文标题】如果任务产生不同的线程,Serial DispatchQueue 会等待吗【英文标题】:Will a Serial DispatchQueue wait if a task spawns a different thread 【发布时间】:2018-11-27 21:21:42 【问题描述】:串行调度队列将一次执行一项任务。但是,如果队列中有 task1 和 task2 怎么办。 task1 开始执行并调用一个带有完成块的函数(我假设它将使用不同的线程来执行)。此时,我相信 task1 将退出,即使尚未调用完成块。 task2 是否有可能在 task 1 的完成块执行之前开始执行?
【问题讨论】:
【参考方案1】:是的。在正常情况下,这正是会发生的事情。
如果您想等待某事完成后再继续,请研究 DispatchGroup。
【讨论】:
以上是关于如果任务产生不同的线程,Serial DispatchQueue 会等待吗的主要内容,如果未能解决你的问题,请参考以下文章