diff --git a/prime.html b/prime.html new file mode 100644 index 0000000..0eed4a8 --- /dev/null +++ b/prime.html @@ -0,0 +1,40 @@ + + + + Worker example: One-core computation + + +

The highest prime number discovered so far is:

+ + + +
+ Log:
+ + + + + + diff --git a/prime.js b/prime.js new file mode 100644 index 0000000..1b43d71 --- /dev/null +++ b/prime.js @@ -0,0 +1,39 @@ +var n = 1; +var cur = 1; +var timer = null; + +function search() { + if (timer) clearTimeout(timer); + var sqrtn = Math.sqrt(n); + for (iters = 0; iters < 10000; iters += 1) { + cur += 1; + if ((cur <= sqrtn) && (n % cur != 0)) continue; + if (cur > sqrtn) { + postMessage("num:" + n); + } + n += 1; + cur = 1; + } + timer = setTimeout(search, 10); +} + + +onmessage = function (e) { + switch (e.data) { + case 'start': + postMessage("log:start"); + if (timer) clearTimeout(timer); + timer = setTimeout(search, 100); + break; + case 'stop': + postMessage("log:stop"); + if (timer) clearTimeout(timer); + started = false; + break; + case 'reset': + postMessage("log:reset"); + n = 1; + postMessage('num:'); + break; + } +}