作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对异步加载和主线程的概念有些困惑。当某些东西被异步加载时,是否意味着它不在主线程上运行?据我所知,这是两个不同的概念,某些内容可以异步在主线程上运行,某些内容也可以异步在后台/辅助线程上运行。如果我错了,请纠正我。
最佳答案
不完全的。异步运行意味着它不会停止在当前线程上继续执行。这是一个重要的区别,因为完全有可能异步执行某项操作,使其最终结束在主线程上(例如:dispatch_async(dispatch_get_main_queue(),^ {some block});),这意味着它不会停止其他操作线程继续执行,但阻塞了主线程。
因为主线程对应用程序非常重要,所以异步代码最常见的用法是避免阻塞它,但这不是唯一的用法。
(已添加)
也许用“关于x的异步”来思考它会更有用。如果执行此操作,例如:
dispatch_async(aSerialQueue, ^{
work();
work();
});
关于iphone - 当某些东西异步运行时,是否意味着它不在主线程上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14763100/
有人可以向我澄清主线 DHT 规范中的声明吗? Upon inserting the first node into its routing table and when starting up th
我正在尝试使用 USB 小工具驱动程序使嵌入式设备作为 MTP 设备工作。 我知道 Android 从大容量存储设备切换到 MTP 设备已经有一段时间了,并且找到了 source code for M
我是一名优秀的程序员,十分优秀!