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