10.07.2015 Views

멀티스레드를 위한 자바스크립트 프로그래밍 웹 워커 - 한빛미디어

멀티스레드를 위한 자바스크립트 프로그래밍 웹 워커 - 한빛미디어

멀티스레드를 위한 자바스크립트 프로그래밍 웹 워커 - 한빛미디어

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

1 | 웹 워커의 개요무거운 계산을 백그라운드에서 실행할 수 있다면 계산이 끝날 때까지 사용자 인터페이스 UI(User Interface) 가 기다릴 필요가 없게 되고, 많은 경우 모던 웹 애플리케이션의 성능이 향상될 것이다. 이처럼 무거운 계산을 수행하는 코드를 웹 애플리케이션의 UI와 별도의 스레드에서 실행시키는 API가 웹 워커 스펙 01 에 정의되어 있다. 웹워커는 별도의 스레드로 실행되기 때문에 UI가 사용하는 메모리와 CPU에 영향을주지 않고 긴 작업을 수행할 수 있다.멀티스레드 프로그래밍은 복잡한 알고리즘과 이론적인 논의 등을 수반하는 까다로운 작업이라고 할 수 있다. 자바를 비롯한 여러 언어가 이러한 복잡함 02 을 숨기기위한 라이브러리를 개발자들에게 제공한다. 다행히도 웹 워커에서는 훌륭하면서도 간단한 API를 제공하는데, 이 API를 사용하면 교착상태 deadlock03 나 그와 유사한문제에 대해 신경을 쓰는 일이 줄어들어 그만큼 효율성이 증대된다.웹 워커는 그림 1-1과 그림 1-2에서 보는 것처럼 ‘스크립트 반응없음’ 대화상자가더 이상 뜨지 않도록 해 줄 것이다.그림 1-1 윈도우의 ‘스크립트 반응없음’ 경고 다이얼로그01 http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html02 http://gee.cs.oswego.edu/dl/concurrency-interest/index.html - 멀티스레딩에 관해 더 많은 정보를얻고자 한다면 “http://en.wikipedia.org/wiki/Multithreading_(computer_architecture)”을 방문해 볼 것.03 (역자주) 교착상태(‘데드락’이라고도 함)이란 두 개 이상의 작업이 서로 상대방의 작업이 끝나기 만을 기다리고있기 때문에 결과적으로 아무것도 완료되지 못하는 상태를 가리킨다. 전산학에서 교착상태란 다중 프로그래밍환경에서 흔히 발생할 수 있는 문제로, 이 문제를 해결하는 일반적인 방법은 아직 없다.1장 웹 워커의 개요1

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!