--- id: P-REINFORCE-AI-049 category: "10_Wiki/๐Ÿ’ก Topics/Frontend & Concurrency" confidence_score: 0.98 tags: [webworker, concurrency, javascript, performance] last_reinforced: 2026-06-XX github_commit: "[P-Reinforce] Processed Web Worker (์›น ์›Œ์ปค)." --- # [[Web Worker (แ„‹แ…ฐแ†ธ แ„‹แ…ฏแ„แ…ฅ)|Web Worker (์›น ์›Œ์ปค)]] ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ๋ฉ”์ธ ์Šค๋ ˆ๋“œ(Main Thread)๊ฐ€ UI ๋ฐ ์‚ฌ์šฉ์ž ์ž…๋ ฅ ์ฒ˜๋ฆฌ๋ผ๋Š” ์ค‘์š”ํ•œ ์ž„๋ฌด๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก, ๋ฌด๊ฒ๊ณ  ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ๊ณ„์‚ฐ ์ž‘์—…์„ ๋ณ„๋„์˜ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์Šค๋ ˆ๋“œ์—์„œ ๋ถ„๋ฆฌ ์‹คํ–‰ํ•˜๋Š” ๊ธฐ์ˆ ์ด๋‹ค. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) - **๋ฌธ์ œ ์ธ์‹:** ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ฑ๋Šฅ ์ €ํ•˜ ์ฃผ๋ฒ”์€ ๋ฉ”์ธ ์Šค๋ ˆ๋“œ์˜ '๋ธ”๋กœํ‚น(Blocking)' ํ˜„์ƒ์ด๋‹ค. ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ, ๋Œ€์šฉ๋Ÿ‰ JSON ํŒŒ์‹ฑ, ์ด๋ฏธ์ง€ ํ•„ํ„ฐ๋ง ๋“ฑ์ด ๋ฉ”์ธ ์Šค๋ ˆ๋“œ์—์„œ ์‹คํ–‰๋˜๋ฉด UI๊ฐ€ ๋ฉˆ์ถ”๋Š” (Jank) ํ˜„์ƒ์ด ๋ฐœ์ƒํ•œ๋‹ค. - **Web Worker์˜ ์—ญํ• :** Web Worker๋Š” OS ๋ ˆ๋ฒจ์˜ ๋…๋ฆฝ๋œ ์Šค๋ ˆ๋“œ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ JavaScript ์ฝ”๋“œ๋ฅผ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰์‹œํ‚จ๋‹ค. ์ด๋กœ ์ธํ•ด ๋ฉ”์ธ ์Šค๋ ˆ๋“œ๋Š” ํ•ญ์ƒ ์‚ฌ์šฉ์ž์™€ ์ƒํ˜ธ์ž‘์šฉํ•  ์ค€๋น„ ์ƒํƒœ(Responsive)๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค. - **ํ†ต์‹  ๋ฐฉ์‹๊ณผ ์ œ์•ฝ:** 1. **Message Passing:** Worker์™€ Main Thread ๊ฐ„์˜ ๋ฐ์ดํ„ฐ๋Š” `postMessage` API๋ฅผ ํ†ตํ•ด ๋น„๋™๊ธฐ์ ์œผ๋กœ ์ „๋‹ฌ๋˜์–ด์•ผ ํ•œ๋‹ค. (๋ฐ์ดํ„ฐ ๋ณต์‚ฌ/์ง๋ ฌํ™” ๊ณผ์ •์ด ํ•„์š”ํ•˜๋‹ค). 2. **SharedArrayBuffer & Atomics:** ์„ฑ๋Šฅ ๋ณ‘๋ชฉ์ด ์‹ฌํ•  ๊ฒฝ์šฐ, ๋ฉ”๋ชจ๋ฆฌ ์ „์ฒด๋ฅผ ๊ณต์œ ํ•˜๊ณ  ์›์ž์  ์—ฐ์‚ฐ(Atomics)์„ ์‚ฌ์šฉํ•˜์—ฌ ํ†ต์‹  ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ๊ทน๋„๋กœ ์ค„์ด๋Š” ๊ณ ๊ธ‰ ๊ธฐ๋ฒ•๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** Web Worker๊ฐ€ ๋ชจ๋“  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋งˆ๋ฒ•์˜ ์ง€ํŒก์ด๊ฐ€ ์•„๋‹ˆ๋‹ค. ์Šค๋ ˆ๋“œ ๊ฐ„ ๋ฐ์ดํ„ฐ ์ „์†ก ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ง๋ ฌํ™”/์—ญ์ง๋ ฌํ™” ๋น„์šฉ(Serialization Overhead)์„ ๊ณ ๋ คํ•ด์•ผ ํ•œ๋‹ค. - **์ •์ฑ… ๋ณ€ํ™”:** ๊ณ ์„ฑ๋Šฅ ์ปดํ“จํŒ…์ด ์š”๊ตฌ๋˜๋Š” ํ™˜๊ฒฝ์—์„œ๋Š” `SharedArrayBuffer`์™€ ๊ฐ™์€ ๊ณ ๊ธ‰ ๋ฉ”๋ชจ๋ฆฌ ๊ณต์œ  ๊ธฐ๋ฒ•๊ณผ ํ•จ๊ป˜, ์›น ์›Œ์ปค๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ณ‘๋ชฉ ํ˜„์ƒ์„ ๊ทผ๋ณธ์ ์œผ๋กœ ํ•ด๊ฒฐํ•˜๋Š” ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„๊ฐ€ ํ‘œ์ค€ํ™”๋˜๊ณ  ์žˆ๋‹ค. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - Parent: [[Web Worker (แ„‹แ…ฐแ†ธ แ„‹แ…ฏแ„แ…ฅ)|Web Worker (์›น ์›Œ์ปค)]] - Related: Concurrency , [[JavaScript แ„†แ…ฆแ„†แ…ฉแ„…แ…ต แ„€แ…ชแ†ซแ„…แ…ต(JavaScript Memory Management)|JavaScript ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ(JavaScript Memory Management)]] , [[SharedArrayBuffer|SharedArrayBuffer]] - Raw Source: 00_Raw/Web Worker (์›น ์›Œ์ปค).md ---