javascript引擎是不是单线程


这篇文章给大家分享的是有关javascript引擎是不是单线程的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 JavaScript引擎是单线程的;JavaScript的主要用途是与用户互动以及操作DOM,为例避免复杂的同步问题,使其同一时间只能做一件事情,所以JavaScript是单线程的。本教程操作环境:windows10系统、javascript1.8.5版、Dell G3电脑。JavaScript引擎是单线程的。JS为什么是单线程的? 为什么需要异步? 单线程又是如何实现异步的呢?技术的出现,都跟现实世界里的应用场景密切相关的。同样的,我们就结合现实场景,来回答问题(1) JS为什么是单线程的?单线程:同一个时间只能做一件事JavaScr免费云主机域名ipt的单线程,与他的用途有关。作为浏览器脚本语言,JavaScript的主要用途是与用户互动,以及操作DOM。这就决定了他只能是单线程,否则会带来很复杂的同步问题。比如,假定JavaScript同时有两个线程,一个线程在某个DOM节点上添加内容,另一个线程删除了这个节点,这时浏览器应该以哪个线程为准?为了利用多核CPU的计算能力,HTML5提出Web Worker 标准,允许JavaScript脚本创建多个线程,但是子线程完全受主线程控制,且不得操作DOM。所以,这个新标准并没有改变JavaScript单线程的本质。JS最初被设计用在浏览器中,那么想象一下,如果浏览器中的JS是多线程的。场景描述:那么现在有2个进程,process1 process2,由于是多进程的JS,所以他们对同一个dom,同时进行操作process1 删除了该dom,而process2 编辑了该dom,同时下达2个矛盾的命令,浏览器究竟该如何执行呢?这样想,JS为什么被设计成单线程应该就容易理解了吧。(2) JS为什么需要异步?场景描述:如果JS中不存在异步,只能自上而下执行,如果上一行解析时间很长,那么下面的代码就会被阻塞。对于用户而言,阻塞就意味着”卡死”,这样就导致了很差的用户体验所以,JS中存在异步执行。感谢各位的阅读!关于“javascript引擎是不是单线程”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

相关推荐: 怎么用CSS3实现雪花飘落的效果

这篇文章将为大家详细讲解有关怎么用CSS3实现雪花飘落的效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。   我们可以根据自己想要的动画效果来设置动画,比如在本例中:   设置动画名称为xuehua,动免费云主机域名画完成…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 09/24 09:09
下一篇 09/24 09:10

相关推荐