일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 동적 계획법
- DFS
- 안드로이드
- Javascript
- 프로그래머스
- react
- 리트코드
- LeetCode
- VIM
- java
- TypeScript
- 다이나믹 프로그래밍
- Python
- BFS
- vscode
- Algorithm
- Graph
- Redux
- CS
- git
- 알고리즘
- 백준
- frontend
- 자바
- network
- Data Structure
- DP
- 그레이들
- Database
- db
- Today
- Total
늘 겸손하게
CS - Web Worker 본문
Web Worker
HTML 페이지에서 스크립트를 실행하면 페이지는 스크립트가 완료할 때까지 기다리게 됩니다. 이는 사용자 입장에서 화면이 정지된 듯이 보여 불편함을 줄 수 있습니다. 이를 위해 웹 워커(Web Worker)를 사용합니다.
웹 워커는 웹 브라우저에서 멀티스레딩 및 백그라운드 스레드 작업을 수행하기 위한 기술입니다. 웹 애플리케이션에서 CPU 집중적인 작업 또는 긴 처리 시간이 필요한 작업을 수행할 때 웹 워커를 사용하면 메인 스레드의 브라우저 성능에 영향을 미치지 않고 작업을 백그라운드에서 병렬로 처리할 수 있습니다.
자바스크립트는 싱글 스레드 언어입니다. 하지만 실제로는 멀티 스레드처럼 사용되는데 그 이유는 바로 Web Worker 덕분입니다.
Web Worker 특징
1. 독립된 스레드
웹 워커는 메인 스레드와 별도로 동작하며, 작업을 병렬로 처리할 수 있습니다.
이로 힌해 메인 스레드의 렌더링 및 사용자 상호작용에 영향을 미치지 않습니다.
2. 자바스크립트 파일
웹 워크는 자바스크립트 파일로 구현됩니다. 메인 스레드에서 웹 워커를 생성하고 제어할 수 있으며, 웹 워커 내에서는 자바스크립트 코드를 실행할 수 있습니다.
3. 통신
웹 워커와 메인 스레드 간에는 메시지를 통한 통신이 이루어집니다. 메인 스레드에서 웹 워커로 데이터를 보내고, 웹 워커에서 메인 스레드로 데이터를 반환할 수 있습니다.
4. DOM, 브라우저 객체 접근 제한
웹 워커는 메인 스레드와는 다르게 DOM 접근이나 브라우저 객체 접근이 제한됩니다. 따라서 웹 워커는 주로 순순한 계산 작업에 사용됩니다.
'Computer Science' 카테고리의 다른 글
CS - 디자인 패턴 (0) | 2023.11.11 |
---|---|
CS - GET, POST 차이 (0) | 2023.10.16 |
CS - 상대경로, 절대경로 (0) | 2023.08.23 |
CS - 라이브러리와 프레임워크 차이 (0) | 2023.04.15 |
CS - MariaDB, RDBMS (0) | 2022.09.28 |