001_web worker 介绍
1. javascript 语言设计 “单线程” , 在浏览器上 “同步阻塞式” 执行。 会限制 “多核计算机”(CPU) 的计算能力;
2. 为 js 执行创造多线程环境 (计算密集, 高延迟任务)
1* 主线程创建 worker 线程, 执行任务
2* worker 线程后台执行 (不会被主线程活动打断)
3* worker 完成计算任务后,返回给主线程
4* worker线程 比较耗资源,使用完毕,马上关闭
^ 主线程多在负责 "UI交互", 使用`worker线程`保证其流畅性。
3. 限制
Web Worker 有以下几个使用注意点。
(1)同源限制
分配给 Worker 线程运行的脚本文件,必须与主线程的脚本文件同源。
(2)DOM 限制
Worker 线程所在的全局对象,与主线程不一样,无法读取主线程所在网页的 DOM 对象,也无法使用document、window、parent这些对象。但是,Worker 线程可以navigator对象和location对象。
(3)通信联系
Worker 线程和主线程不在同一个上下文环境,它们不能直接通信,必须通过消息完成。
(4)脚本限制
Worker 线程不能执行alert()方法和confirm()方法,但可以使用 XMLHttpRequest 对象发出 AJAX 请求。
(5)文件限制
Worker 线程无法读取本地文件,即不能打开本机的文件系统(file://),它所加载的脚本,必须来自网络。

浙公网安备 33010602011771号