taquaki-satwo
12/13/2017 - 10:46 AM

Web Workers

JS-Web Workers

window.onload = function() {
  var N = '10';
  var mainstart = document.getElementById('mainstart');
  var workerstart = document.getElementById('workerstart');
  var clear = document.getElementById('clear');
  var output = document.getElementById('output');
  // startClock();
  
  var worker = new Worker('https://codepen.io/taquaki/pen/KZKWxj.js');
  worker.onmessage = function(e) {
  //   console.log('recieved: ' + new Date());
  //   output.innerHTML = N + '以下の最大素数 = ' + e.data;
  }
  workerstart.onclick = function() {
    console.log('send: ' + new Date());
    // worker.postMessage(N);
  }
  mainstart.onclick = function() {
    output.innerHTML = N + '以下の最大素数 = ' + prime(N);
  }
  clear.onclick = function() {
    output.innerHTML = '';
  }
  // workerの強制終了
  // worker.terminate();
}
function startClock() {
  var clock = document.getElementById('clock');
  var statTime = new Date();
  setInterval(function() {
    clock.innerHTML = ((new Date() - startTime) / 1000).toFixed(1);
  }, 100);
}









script(src='https://codepen.io/taquaki/pen/wpvNVK.js')
#clock
input#mainstart(type='button' value='メインスレッドで実行')
input#workerstart(type='button' value='ワーカースレッドで実行')
input#clear(type='button' value='結果のクリア')
#output