我是 HTML5 Webworker API 的新手。Web Worker 是在后台运行的 JavaScript,不会影响页面的性能。
下面给出了 Webworker API 的简单示例。如果我启动 Webworker 并且不停止使用其他页面和站点。几分钟后,我的浏览器将有更多的负载和使用浏览器的问题。它在后台运行,但如果我们不停止 Webworker,它们会增加并影响性能问题,所以我怎么能说“不影响页面的性能”。
任何人都可以为实际使用的网络工作提供适当的示例或建议吗?我们可以将网络工作人员与 Java 多线程和 Linux 进程进行比较吗?
演示.html
<!DOCTYPE html>
<html>
<body>
<p>Count numbers: <output id="result"></output></p>
<button onclick="startWorker()">Start Worker</button>
<button onclick="stopWorker()">Stop Worker</button>
<script>
var w;
function startWorker() {
if(typeof(Worker)!=="undefined") {
if(typeof(w)=="undefined") {
w=new Worker("demo_workers.js");
}
w.onmessage = function (event) {
document.getElementById("result").innerHTML=event.data;
};
} else {
document.getElementById("result").innerHTML="Sorry, your browser does not support Web Workers...";
}
}
function stopWorker() {
w.terminate();
}
</script>
</body>
</html>
demo_workers.js
var i=0;
function timedCount() {
i=i+1;
postMessage(i);
setTimeout("timedCount()",500);
}
timedCount();