作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚刚看了这个raywenderlich.com video并采取了this screenshot有问题的代码 (@ 22:30)。
我想知道 mainQueue.async
是如何在 defaultQueue.async
之后完成的,尽管它被放在我认为是更高优先级的队列(默认为 userInteractive
或 userInitiated
,但不管高于 default
,对吧?)。我观看了整个视频,感觉在看到之前我对所有内容都有很好的把握。有人可以解释一下吗?非常感谢。
最佳答案
屏幕截图中没有足够的代码来真正了解发生了什么,但我认为问题是这样的:
主队列比较特殊;与所有其他调度队列不同,添加到主队列的 block 由应用程序的主运行循环调度。所有其他调度队列在任何可用线程上执行 block 。
因此,虽然您在后台排队运行的 block 几乎会立即启动,但您在主线程上排队运行的任何内容都必须等到主运行循环循环,并且必须与计时器、用户输入事件一起等待,等等。
关于ios - 主队列异步与默认队列异步说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56249546/
我是一名优秀的程序员,十分优秀!