Web Worker

Posted on 2021-08-27 17:31  ${妖气}  阅读(65)  评论(0编辑  收藏  举报

Web Worker

Web Worker 的作用是为 JavaScript 创造多线程环境,允许主线程创建 Worker 线程,将一部分任务分配给 worker 运行。在主线程运行的同时,Worker 线程在后台运行,互不干扰。

Worker 可以被创建多个,且 Worker 之间均为独立的线程,Worker 之间以及主线程之间,是不会共享任何作用域或资源(包括 DOM 资源)

Worker 线程一旦新建成功,就会始终运行,不会被主线程上的活动打断,这样有利于随时响应主线程的通信。但这也造成了 Worker 比较耗费资源,一旦使用完毕就应该关闭。

Worker 环境

在 Worker 内部是无法访问主程序的任何资源的,即不能访问它的任何全局变量 ,也不能访问页面的 DOM 或其他资源,这是一个完全独立的线程

Web Worker 通常应用在以下方面:

  • 处理密集型数学计算
  • 大数据集排序
  • 数据处理
  • 高流量网络通信

关于 Worker 的使用方法,可参考 http://www.ruanyifeng.com/blog/2018/07/web-worker.html

Worker API 文档 https://developer.mozilla.org/zh-CN/docs/Web/API/Worker