有人可以帮助我理解使用GCD时的线程入队。 我想了解在放置断点时我们看到的线程入队。 它是如何工作的?
每个线程都在主队列或全局队列上执行吗?这是入队的原因吗?
谢谢,
答案 0 :(得分:0)
有人可以帮助我了解使用GCD时的线程排队。我想了解放置断点时看到的线程排队。
我建议您反过来考虑。您不会“排队”线程。您将代码块分派到队列(即“入队”),分派队列将选择该代码将在其上运行的适当线程。
例如,在上面,我创建了一个队列,向该队列调度了一个代码块,并添加了一个断点。我可以看到我的队列启动了一个线程(在本例中为“线程3”),并且可以看到它是从“主线程”上运行的viewDidLoad
方法“排队”的。
每个线程都在主队列或全局队列上执行吗?
同样,这是另一回事。分派到特定队列的代码将触发该队列在特定线程上运行该代码块。
但是有三种类型的队列:
是排队的原因吗?
此“排队”仅是将代码块添加到队列的过程。 Xcode会尝试向您显示代码的排队位置,以帮助您诊断代码的发出位置。