JavaScript的运行机制

为何是单线程?

单线程便是同一时间只能作一件事,为何JavaScript不能有多个线程?浏览器

JavaScript的主要做用是与用户互动,及操做dom。这决定了它只能是单线程,不然会带来很复杂的问题。
假设两个线程,一个线程在某个DOM节点上添加内容,另外一个线程删除这个节点,这时浏览器应该以谁为准?
尽管为了利用多核CPU的计算能力,HTML5提出Web Worker标准,容许JavaScript建立多个线程,可是子线程
彻底受主线程控制,且不得操做DOM。因此,新标准仍然没有改变JavaScript单线程的本质。dom

事件循环机制

相关文章
相关标签/搜索