Web Worker API
Contents
Web worker
Web Worker
λ λ©μΈ μ€λ λμ λΆλ¦¬λ λ³λμ λ°±κ·ΈλΌμ΄λ μ€λ λμμ μ€ν¬λ¦½νΈλ₯Ό μ€νν μ μλ κΈ°μ μ΄λ€. UI μ€λ λμλ λ³κ°μ μ€λ λλ₯Ό μ€νμμΌ μ¬μ©μ μΈν°νμ΄μ€λ₯Ό λ°©ν΄νμ§μκ³ μμ
μ μνν μ μλ€.
Web worker scope
- Web workerλ λ©μΈ μ€λ λμ λ³λμ worker μ€λ λλ₯Ό κ°λλ€.
- λ©μΈ μ€λ λμμ
window
κ°μ²΄λGlobalScope
μ΄μ§λ§ worker μ€λ λμμλ λ³λμ μ€μ½ν λ²μλ₯Ό κ°λλ€. - worker μ€λ λλ λ©μΈ μ€λ λ
window
κ°μ²΄μ μ‘μΈμ€ν μ μλ κΆνμ΄ μκΈ° λλ¬Έμ windowμ λ©μλλ DOMμ μ§μ μ μΌλ‘ μ μ΄ν μ μλ€.window
μ DOMμ μ κ·ΌνκΈ° μν΄μλpostMessage()
λ©μλλ₯Ό μ΄μ©νμ¬ λ©μΈμ§λ₯Ό 보λ΄κ³onmessage
μ΄λ²€νΈ νΈλ€λ¬λ₯Ό ν΅ν΄ μ μ΄ν μ μλ€.
Worker μ’ λ₯
Dedicated workers
: λ¨μΌ μ€ν¬λ¦½νΈ νκ²½μ μ΄μ©νλ worker. μ²μ workerλ₯Ό μμ±ν context μμμμλ§ μ¬μ©μ΄ κ°λ₯νλ€.Shared workers
: workerκ° κ°μ λλ©μΈ λ΄μ μ‘΄μ¬νλ λͺ¨λ Threadμμ μ¬μ©μ΄ κ°λ₯νλ€. λ€λ₯Έ 컨ν μ€νΈ (iframe, λ€λ₯Έ ν λ±)μμλ μ κ·Όμ΄ κ°λ₯νλ€. scriptμμ workerμport
λ₯Ό ν΅ν΄μ ν΅μ νλ€.Service workers
: λΈλΌμ°μ κ° λ°±κ·ΈλΌμ΄λ μμμμ μ€ννλ μ€ν¬λ¦½νΈλ‘ Service workerμ μλͺ μ£ΌκΈ°λ μΉνμ΄μ§μλ λ³κ°λ‘ μλνλ€. μΉνμ΄μ§ λλ μ¬μ©μ μΈν°λμ μ΄ νμνμ§ μλ κΈ°λ₯μ μ 곡νκ³ μλ€. μ€νλΌμΈ νκ²½, νΈμ μλ¦Ό, λ°±κ·ΈλΌμ΄λ λκΈ°ν λ±μ κΈ°λ₯μ μ§μνλ€.
Service Worker
- Web workerμ ν μ’ λ₯μ΄λ€. μΉ νμ΄μ§μ λΌμ΄ν μ¬μ΄ν΄κ³Όλ λ³κ°λ‘ λμνκΈ° λλ¬Έμ μΉνμ΄μ§κ° λ«νλ μλμΌλ‘ λΉνμ±ν λμ§ μλλ€.
- μΉ μ ν리μΌμ΄μ , λΈλΌμ°μ λ° λ€νΈμν¬ μ¬μ΄μ proxy μλ² μν μ νλ€. μ£Όλ‘ μ€νλΌμΈ, νΈμ μλ¦Ό λ° λ°±κ·ΈλΌμ΄λ λκΈ°ν APIλ₯Ό μν΄ μ¬μ©νλ€.
- 보μμμ μ΄μ λ‘ localhost μ΄μΈμλ HTTPS ν΅μ μ ν΄μΌνλ€.
multi-threading
μ κΈ°λ₯μ μ¬μ©νκΈ° μν΄ μ€κ³λ κ²μ΄ μλλ―λ‘ λͺκ°μ§ κΈ°λ₯λ€μ΄ μ νλμ΄ μλ€.EventSource
λWebSocket
κΈ°λ₯λ μ νλμ΄ μλ€.