fibonacci_worker.js (546B)
1 /** 2 * Any copyright is dedicated to the Public Domain. 3 * http://creativecommons.org/publicdomain/zero/1.0/ 4 */ 5 onmessage = function (event) { 6 var n = parseInt(event.data); 7 8 if (n < 2) { 9 postMessage(n); 10 return; 11 } 12 13 var results = []; 14 for (var i = 1; i <= 2; i++) { 15 var worker = new Worker("fibonacci_worker.js"); 16 worker.onmessage = function (msg) { 17 results.push(parseInt(msg.data)); 18 if (results.length == 2) { 19 postMessage(results[0] + results[1]); 20 } 21 }; 22 worker.postMessage(n - i); 23 } 24 };