Webworker

Chrome 에서 테스트 합니다. webworker가 작업을 하는 동안 다른 일을 할 수 있습니다.
From. 스마트폰 앱 개발을 위한 HTML5 / 쿠지라 히코즈구에 / 정보문화사.

계산중...




						

워커 사용법

멀티 스레드로 처리를 실행하려면 우선 워커라고 불리는 객체를 작성하는데, 이때 워커로 실행할 프로그램 코드가 포함된 자바스크립트 파일을 지정한다.

	var worker = new Worker('자바스크립트 파일');
							

새롭게 작성한 워커는 메인 스레드와 변수를 공유하지 않는다. 따라서 워커에서 수행한 계산 결과를 메인 스레드에 반영시키면 postMessage() 메서드를 이용하여 메시지를 전달할 필요가 있다. 다음은 워커에서 메인 스레드로 메시지를 전송하는 코드이다.

// --- 메인스레드 파일
var worker = new Worker('javascript 파일');
worker.onmessage = function (event) {
	 // 워커가 보낸 메시지를 처리
};
...
// --- 워커의 처리를 정의한 자바스크립트 파일
postMessage(전송할 메시지);
						

또한 다음과 같이 메인 스레드에서 워커에 메시지를 보낼 수도 있다

// --- 메인 스레드 파일
var worker = new Worker('자바스크립트 파일');
worker.postMessage(전송할 메시지);
---
// --- 워커의 처리를 정의한 자바스크립트 파일
self.onmessage = function (event) {
	// 메인 스레드가 보낸 메시지를 처리
};