iShare 技术 Web Worker_20110610_Sun
-
Upload
jun-sun -
Category
Technology
-
view
604 -
download
13
description
Transcript of iShare 技术 Web Worker_20110610_Sun
JavaScript Web Worker
by Sun
2011.6.10
单线程假死
大数据量计算
setTimeout?setInterval?
Web Worker"多线程 "时代
Work NOW -- 主线程// 将要后台运行的一段代码var worker = new Worker("worker.js");
// 如何处理后台 worker返回的结果worker.onmessage = function (event) { console.log(event.data);}
Work NOW -- 子线程/** * 得到主线程传过的消息 , 启动线程进行大数据计算 . * mainThread.postMessage -> workerThread.onmessage */onmessage = function (event) { // 从 event.data中取得主线程传来的数据 var mainThreadData = event.data;
// 将结果传递给主线程 // workerThread.postMessage -> mainThread.onmessage postMessage(mainThreadData);};
本地 XHR?
主线程子线程mainThread.js
worker.js
postMessage(data)
postMessage(data)
onmessageonm
essage
子线程 1worker1.js
子线程 2worker2.js
NO DOM
Browser Support• Firefox 3.5(1.9.1)• Opera 10.60• Chrome 3• Safari 4
Where is Internet Explorer ?
Q&A
参考
JavaScript Threading With HTML5 Web Workers
谢谢 !