浏览器中那个线程是主线程,是怎样切换线程的?

发布于 2022-09-12 22:48:21 字数 297 浏览 18 评论 0

JavaScript的单线程特点,业内一直有个这样的原则:任何动作都不要长时间霸占主线程,如果迟迟不归还主线程,那么在这期间浏览器就没法对其他输入作出响应

浏览器内部有多个线程(事件处理,定时器等等),其中js执行线程和ui渲染线程互斥,针对上面的一段话,那么浏览器一个进程内是不是那个线程执行就是那个主线程,但是js事件循环模拟异步过程中,其他线程也参与进来,是和js线程并行(除了ui渲染线程),那谁是主线程。
js执行一个同步耗时任务会霸占主线程,任务执行完毕,释放主线程,交给ui线程渲染(变成主线程),能否这样理解?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

活雷疯 2022-09-19 22:48:21

主线程一般就指 UI 线程。这点跟 Native 客户端开发(Windows、Linux、iOS、Android 啥都行)是一样的。

JS 执行时不是“霸占”主线程,而是“挂起”主线程,如果时间过长,看上去就是页面卡死了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文