html5 worker 求素数

来源:互联网 发布:炫浪网络社区在线阅读 编辑:程序博客网 时间:2024/05/15 12:52

<!DOCTYPE html>
<html>
<head><title>worker example</title></head>
<body>
<p>the prime number so far is <output id="result"></output></p>
<script >
var worker = new Worker('worker.js');
worker.onmessage = function(event) {
console.log(parseInt(event.data));
if(parseInt(event.data)>1000) {
worker.terminate();
}
document.getElementById('result').textContent = event.data;
}
</script>


</body>
</html>



worker.js

var n = 1;
var found = false;
while(true) {
n +=1;
found = true;
for(var i =2;i<=Math.sqrt(n);i+=1) {
if(0==n%i){
found = false;
break;
}
}
if(found) {
postMessage(n);
}

}


1. postMessage 方法 : 向 worker 发送消息.  worker线程 必须同时注册onmessage事件.
 2. terminate 方法 : 停掉worker的行为.
http://www.cnblogs.com/_franky/archive/2010/11/23/1885773.html