HTML5提供了Worker類用於多線程處理。Worker是在UI主線程中創建,後台執行的一段js腳本,它通過消息與UI線程傳遞數據。使用Worker就3步:
cheungmine 2011-11-29
第1步:創建一個Worker,需要指定一個js文件,作為Worker線程的執行體:
var worker = new Worker("worker.js");
第2步:給Worker實例指定消息處理函數,只有2個:onmessage ,onerror
worker.onmessage = function (event) {
// update UI here
var t1 = new Date().getTime();
elemById("_time").value = t1 - t0;
elemById("_piValue").value = event.data;
};
worker.onerror = function (event) {
alert(event.message);
};
第3步:給worker發消息:postMessage。
elemById("_time").value = "-";
t0 = new Date().getTime();
worker.postMessage(parseInt(elemById("_num_rects").value));
下面以一個具體的例子來說明Worker的用法。這個例子是用數值積分的方法求pi=(3.1415926....)的。worker.js就是做這個工作。