由于 JS 单线程的特性,导致大量计算不仅会阻塞 UI 的渲染,还无法充分发挥多核 CPU 的计算能力
甚至会造成浏览器的卡死,可以通过 Web Workers 技术来 并行高效 的解决这个问题
浏览器允许主线程创建工作线程,分配任务给后者,主线程运行的同时工作线程也在运行,相互不干扰,在工作线程运行结束后把结果返回给主线程
主线程可以把 计算密集型 或 高延迟 的任务交给工作线程执行,这样主线程就会变得轻松,不会被阻塞或拖慢
多线程的本质:浏览器作为宿主环境提供给 JS 一个多线程运行的环境,而 JS 语言本身并未支持多线程能力
展开
评论