web Workers:
为了进行后台计算提供的完全隔离计算方式。
不可访问DOM APIs
不可访问window object
不可访问document object
强隔离保证并行计算结果无误(无锁机制)
启动worker
1.定义Worker对象 var w = new Worker("calc.js");
通信:
message事件用于和调用方通信
addEventListener('message',function(evt){});
postMessage()用于向Worker发送消息
w.postMessage(imgData);
数据会被格式化成为json格式
每次发送都是源对象的copy,对象大,性能降低明显。
Worker可访问接口:
SetTimeout()/clearTimeout();
setInterval()/clearInterval()
importScript()引入其它js文件
可以读取url
可以发送xmlhttprequest
Shared worker共享数据