Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

HTML5 웹 워커(Web Worker) 종료 방법

HTML5 웹 워커(Web Worker) 종료하기

웹 워커(Web Worker)는 클릭이나 키 입력 등 사용자 상호작용에 응답하는 스크립트의 간섭 없이 오래 실행되는 작업을 백그라운드에서 처리할 수 있도록 해주는 HTML5의 강력한 기능입니다. 덕분에 무거운 연산이나 긴 작업을 수행하면서도 페이지가 멈추지 않고 부드럽게 반응할 수 있습니다.

다만 웹 워커는 스스로 종료되지 않습니다. 워커를 생성한 페이지(부모 스크립트)가 직접 terminate() 메서드를 호출해야 워커를 즉시 중지시킬 수 있습니다.

worker.terminate();

terminate() 메서드가 호출되면 해당 웹 워커는 더 이상 어떠한 메시지에도 응답하지 않으며, 추가적인 연산이나 작업도 전혀 수행하지 않습니다.

종료된 워커는 재시작할 수 없습니다

한 번 종료된 웹 워커는 다시 시작할 수 없다는 점에 유의해야 합니다. 동일한 작업을 계속 수행해야 한다면, 같은 URL을 사용하여 새로운 워커 객체를 생성해야 합니다.

// 기존 워커 종료
worker.terminate();

// 필요할 때 새로운 워커를 다시 생성
var worker = new Worker('worker.js');

또한 워커 내부에서는 self.close()를 호출하여 스스로를 종료할 수도 있습니다. 이 경우에도 마찬가지로 해당 워커는 재사용할 수 없으므로, 새 작업이 필요하면 새 인스턴스를 만들어야 합니다.