본문 바로가기

HTML

html5 - webworker (쓰레드 개념) 멀티태스킹

ht12_worker.html


<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>

<script type="text/javascript">

$(document).ready(function(){

if(typeof(Worker) == "undefined"){

alert("웹워커를 지원하지 않음");

return;

}

var worker = new Worker("ht12worker.js");

$("#btnOk").click(function(){

worker.postMessage($("#guguNum").val()); // ht11worker.js로 데이터 보내줌

});

worker.onmessage = function(event){

$("#result").html(event.data);     // 데이터 받음

}

});

</script>

</head>

<body>

구구단 출력

<br/>

<input type="text" id="guguNum">

<input type="button" id="btnOk" value="확인">

<hr>

<div id="result"></div>

</body>

</html>


=====================================================================================

ht12worker.js


onmessage = function(event){

var result = "";

var gugu = event.data;

//worker.postMessage(data) 이런식으로 하나만 보내기 때문에 event.data.result 식으로 써줄필요없다.

for(var a=1; a<10; a++){

result += gugu + "*" + a + "=" + (gugu*a) + "<br/>";

}

postMessage(result);

};