一、特点
1、web worker 是html5提供的一个javascript多线程解决方案
2、可以将一些大计算量的代码交给web worker 运行,可以避免阻塞线程造成页面卡顿
3、子线程完全由主线程控制,不可操作dom(因为this不同,主线程this为window ,子线程为DedicatedWorkerGlobalScope 对象)
二、根据别人讲解的简单的应用例子
说明:
1、postMessage是主线程和子线程都有的
2、worker.js必须是同源的,不能使用本地文件
3、为了节省系统资源,使用完成以后必须关闭 Worker
主线程worker.terminate();
Worker 线程self.close();
三、不足
1、运行速度慢
2、不能跨域加载js
3、worker内代码不能访问DOM(更新UI)
4、不是每个浏览器都支持该特性
详细使用可以参考阮一峰大神的文章
网友评论