CODEDRAGON ㆍDevelopment/Web, WWW
웹 워커(Web Worker)
· 자바스크립트의 처리를 백그라운드에서 실행하는 기능을 제공합니다.
· 브라우저가 OS-레벨의 스레드를 생성하여 브라우저에 부담을 주지 않고 백그라운드에서 빠르게 스크립트 연산을 수행할 수 있습니다.
워커의 사용
Worker 객체 만들기 (생성)
· 백그라운드에서 작업할 스크립트를 별도의 파일에 작성하고,
· 매개변수로 워커용 스크립트의 URL을 지정하면 해당 스크립트의 Worker 객체를 반환하고 그 스크립트를 워커로 실행합니다.
· 그리고, onmessage 속성에 함수를 대입하여 작업결과를 돌려 받을 수 있습니다.
var w = new Worker(scriptURL); w.onmessage = function(event){ //Worker에 의해 실행될 콜백 }; |
실행 중인 Worker 종료
terminate 메소드를 호출하여 즉시 종료할 수 있습니다.
종료 메소드가 호출되면 남은 작업을 마무리하거나 메모리를 정리한 후 사라지게 됩니다.
w.terminate(); |
워커에 메시지 전송
//워커에 메시지 보내기 worker.postMessage(‘message’); |
부모 페이지에서 보내온 메시지 수신
//부모로부터 메시지가 왔을 때의 처리 self.onmessage = function(event){ //내용 처리 //처리 결과를 부모에 메시지로 보내기 self.postMessage(n); }; |
부모 페이지에서 워커에서 보낸 메시지 수신
worker.onmessage = function(event){ }; |
'Development > Web, WWW' 카테고리의 다른 글
{wrap}bootstrap - 다양한 소스의 템플릿 (0) | 2017.07.07 |
---|---|
Worker 객체의 메서드 (0) | 2017.06.30 |
WebStorage(웹 스토리지) (0) | 2017.06.30 |
DataTransfer, 데이터 전송 기능에 관한 메서드 (0) | 2017.06.30 |
드래그 앤 드롭의 이벤트 - 드래그(drag) 측에서 발생하는 이벤트, 드롭(drop) 측에서 발생하는 이벤트 (0) | 2017.06.30 |