WEBWORKER는 웹클라이언트에 멀티쓰레드를 할 수 있게 해주는 것이다.
오라클자바커뮤니티에서 설립한 오엔제이프로그래밍 실무교육센터
(오라클, SQL기초튜닝, 자바, 스프링3.X, 웹표준, HTML5, Ajax, jQuery, 안드로이드, 아이폰, 닷넷 실무강의)
[장점]
1. 메인 스크립트에서 긴 연산을 수행할 때 브라우저가 어는(freeze) 현상을 방지할 수 있다.
2. 빡센 계산을 할 때 멀티코어를 사용하여 병렬계산을 할 수 있다.
[제약사항]
1. 보안상의 이유로 WebWorker는 DOM 객체에 접근할 수 없다.
2. 뭐 동일한 이유로 alert() 등도 사용할 수 없다.
- 하지만 다음 객체들은 사용가능
navigator, location, XMLHttpRequest, Date, String 등 자바스크립트 기본 객체들
3. 통신에 사용되는 postMessage() 함수의 매개변수로 객체를 넘길 수 있지만 call by value 이므로 역시
DOM 객체에 접근불가
4. 각 브라우저에서 구현한 WebWorker가 프로세스의 형태이든 쓰레드의 형태이든 시동비용과 인스턴
스당 메모리 사용량이 제법 되므로 왕창 생성해서 무지막지하게 돌리는 것은 권장되지 않음
5. 여러 페이지가 공유하는 형태의 WebWorker인 SharedWorker는 아직 구현된 브라우저가 없음
댓글 없음:
댓글 쓰기