HTML - 문제 미리보기

문제 1031

medium
다음 Web Worker 코드에서 빈칸에 들어갈 올바른 메서드는?

```javascript
// 메인 스레드에서
if (typeof(w) == "undefined") {
w = new ______("worker.js");
}

w.______ = function(event) {
document.getElementById("result").innerHTML = event.data;
};

// worker.js 파일에서
var i = 0;
function count() {
i++;
______(i);
setTimeout(count, 500);
}
```
A. WebWorker, onreceive, sendMessage
B. Worker, onmessage, postMessage
C. BackgroundScript, ondata, pushMessage
D. JSWorker, onresponse, returnMessage

정답: B

Web Worker의 핵심 통신 메커니즘입니다:

`new Worker("파일명")`: 외부 JavaScript 파일로 워커 생성

`onmessage`: 워커로부터 메시지를 받을 때 실행되는 이벤트 핸들러
• `event.data`로 워커가 보낸 데이터에 접근

`postMessage(data)`: 워커에서 메인 스레드로 메시지 전송
• 워커 내부에서 계산 결과나 진행 상황을 메인 스레드로 전달

메인 스레드와 워커는 이 메시지 시스템을 통해서만 통신할 수 있으며, DOM에는 직접 접근할 수 없습니다.

💡 학습 팁

이 문제를 포함한 HTML 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.