goodBlog icon indicating copy to clipboard operation
goodBlog copied to clipboard

为什么JavaScript是单线程?

Open koala-coding opened this issue 5 years ago • 0 comments

js最初设计是运行在浏览器中,单线程是为了防止DOM渲染冲突问题 比如有这样一个场景: 假设有2个线程, 当它们同时对同一个DON进行操作, 一个进行修改,而另一个进行删除, 此时就会产生冲突 所以为了避免出现这样的冲突, javascript从一诞生就是单线程. 但是呢单线程始终是一个痛点, 为了利用多核 CPU 的计算能力,HTML5 提出 Web Worker 标准,允许 JavaScript 脚本创建多个线程。但是子线程完全受主线程控制,且不得操作 DOM

koala-coding avatar Dec 18 '19 08:12 koala-coding