为什么是单线程机制?
JS最初被设计用在浏览器中,作为浏览器脚本语言,JavaScript的主要用途是与用户互动,以及操作DOM,这决定了它只能是单线程,否则会带来很复杂的同步问题。
如果浏览器中的JS是多线程的,会带来很复杂的同步问题。
比如,假定JavaScript同时有两个线程,一个线程在某个DOM节点上添加内容,另一个线程删除了这个节点,这时浏览器应该以哪个线程为准?
所以为了避免复杂性,JavaScript从诞生起就是单线程,这已经成了这门语言的核心特征,将来也不会改变。
为了提高CPU的利用率,HTML5提出Web Worker标准,允许JavaScript脚本创建多个线程,但是子线程完全受主线程控制,且不得操作DOM。所以这个标准并没有改变JavaScript单线程的本质。
以上就是javascript的运行机制是怎样的?的详细内容,更多请关注易知道|edz.cc其它相关文章!