前端-WebWorker
# js 为什么是单线程? 主要是因为最开始 javascript 是单纯的服务于浏览器的一种脚步语言(那时候没有 nodejs )。浏览器是为了渲染网页,通过 dom 与用户交互,如果一个线程需要给 dom 执行 click 事件,而另一个进程要删除这个 dom ,这 2 个动作可能同时进行,也可能先后进行(像 java, c# 等语言中会引入锁的概念,这样会变得异常复杂),那么就会造成很多不可预料的错误。 所以,为了避免复杂性,从一诞生, JavaScript 就是单线程,这已经成了这门语言的核心特征。为了利用多核 CPU 的计算能力, HTML5 提出 Web Worker 标准,允许...
more...