--- id: wiki-2026-0508-lane-model title: Lane Model category: 10_Wiki/Topics status: needs_review canonical_id: self aliases: [] duplicate_of: none source_trust_level: A confidence_score: 0.92 tags: [uncategorized] raw_sources: [] last_reinforced: 2026-05-08 github_commit: pending inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08) tech_stack: language: unspecified framework: unspecified --- # [[Lane Model|Lane Model]] ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) React์˜ Lane Model์€ ๋™์‹œ์„ฑ ๋ Œ๋”๋ง([[Concurrent Rendering|Concurrent Rendering]]) ๋ฐ ์ž‘์—… ์Šค์ผ€์ค„๋ง์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋„์ž…๋œ ์ •๊ตํ•œ ์šฐ์„ ์ˆœ์œ„ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค [1]. ์ด ๋ชจ๋ธ์€ ์—…๋ฐ์ดํŠธ์˜ ์„ฑ๊ฒฉ(์˜ˆ: ์‚ฌ์šฉ์ž ์ž…๋ ฅ, ๋ฐ์ดํ„ฐ ํŽ˜์นญ ๋“ฑ)์— ๋”ฐ๋ผ ์ž‘์—…์— ๊ฐ๊ธฐ ๋‹ค๋ฅธ ์šฐ์„ ์ˆœ์œ„(Lane)๋ฅผ ํ• ๋‹นํ•˜์—ฌ ์ค‘์š”ํ•œ UI ์—…๋ฐ์ดํŠธ๊ฐ€ ๋จผ์ € ์ฒ˜๋ฆฌ๋˜๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค [2-4]. ๊ฐ Lane์€ 32๋น„ํŠธ ์ •์ˆ˜์˜ ๋น„ํŠธ๋งˆ์Šคํฌ(bitmask)๋กœ ํ‘œํ˜„๋˜์–ด ํšจ์œจ์ ์ธ ์šฐ์„ ์ˆœ์œ„ ์—ฐ์‚ฐ๊ณผ ๋‹ค์ค‘ ์šฐ์„ ์ˆœ์œ„ ๊ด€๋ฆฌ๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค [5]. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) * **์ž‘๋™ ์›๋ฆฌ ๋ฐ ๋น„ํŠธ๋งˆ์Šคํฌ ์‹œ์Šคํ…œ:** React์˜ Lane Model์€ ๊ฐ Lane์ด ํŠน์ • ์šฐ์„ ์ˆœ์œ„ ๋ ˆ๋ฒจ์ด๋‚˜ ์ž‘์—… ๋ฒ”์ฃผ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋น„ํŠธ๋งˆ์Šคํฌ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค [5]. ์ด ์‹œ์Šคํ…œ์€ 32๋น„ํŠธ ์ •์ˆ˜๋กœ ํ‘œํ˜„๋˜๋ฉฐ, React๊ฐ€ ๋น„ํŠธ ์—ฐ์‚ฐ(`lanes & otherLanes`)์„ ์‚ฌ์šฉํ•˜์—ฌ ์šฐ์„ ์ˆœ์œ„ ๊ฒน์นจ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๊ณ , ์–ด๋–ค Lane์˜ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋” ๋†’์€์ง€ ํŒ๋ณ„ํ•˜๊ฑฐ๋‚˜ ์ž‘์—…์„ ์‹ ์†ํ•˜๊ฒŒ ๋ฐฐ์น˜(batch) ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•์Šต๋‹ˆ๋‹ค [4, 5]. ์ƒํƒœ ์—…๋ฐ์ดํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด React๋Š” ํ•ด๋‹น ์šฐ์„ ์ˆœ์œ„์— ๋”ฐ๋ผ ์—…๋ฐ์ดํŠธ๋ฅผ ํŠน์ • Lane์— ํ• ๋‹นํ•˜๋ฉฐ, ๋ Œ๋”๋ง ๋‹จ๊ณ„์—์„œ ๊ฐ€์žฅ ๋†’์€ ์šฐ์„ ์ˆœ์œ„๋ถ€ํ„ฐ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค [4]. * **์ฃผ์š” ์šฐ์„ ์ˆœ์œ„ ๋ ˆ๋ฒจ (Priority Lanes):** ์ž‘์—…์˜ ๊ธด๊ธ‰์„ฑ์— ๋”ฐ๋ผ ์—ฌ๋Ÿฌ Lane์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค [3, 6]. * **Sync Lane:** ํƒ€์ดํ•‘์ด๋‚˜ ํด๋ฆญ๊ณผ ๊ฐ™์ด ์ฆ‰๊ฐ์ ์ธ ๋ฐ˜์‘์ด ํ•„์š”ํ•œ ๊ฐ€์žฅ ๊ธด๊ธ‰ํ•œ ์—…๋ฐ์ดํŠธ๋กœ ์ฆ‰์‹œ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค [3, 6, 7]. * **InputContinuous Lane:** ์Šคํฌ๋กค์ด๋‚˜ ํ˜ธ๋ฒ„๋ง ๋“ฑ ์—ฐ์†์ ์ธ ์‚ฌ์šฉ์ž ์ž…๋ ฅ ์ž‘์—…์œผ๋กœ, ๋ถ€๋“œ๋Ÿฌ์šด ํ™”๋ฉด ์ „ํ™˜์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค [3, 6, 7]. * **Default Lane:** ๋ฐ์ดํ„ฐ ํŽ˜์นญ ๊ฒฐ๊ณผ ๋“ฑ ์ผ๋ฐ˜์ ์ธ ์ƒํƒœ ์—…๋ฐ์ดํŠธ๋ฅผ ์œ„ํ•œ ํ‘œ์ค€ ์šฐ์„ ์ˆœ์œ„์ž…๋‹ˆ๋‹ค [3, 6, 7]. * **Idle Lane:** ํ™”๋ฉด ๋ฐ–(Offscreen) ๋ Œ๋”๋ง์ด๋‚˜ ๋ถ„์„/๋กœ๊น… ๋“ฑ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์œ ํœด ์ƒํƒœ์ผ ๋•Œ๋งŒ ๋ฐฐ๊ฒฝ์—์„œ ์ฒ˜๋ฆฌ๋˜๋Š” ์ž‘์—…์ž…๋‹ˆ๋‹ค [3, 6, 7]. * **Lane Model์˜ ์ฃผ์š” ์ด์ :** * **๊ธฐ์•„ ์ƒํƒœ ๋ฐฉ์ง€ (Starvation prevention):** ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์€ ์ž‘์—…์ด ๊ณ„์† ๋ฐ€๋ ค ์˜ค๋žซ๋™์•ˆ ๋Œ€๊ธฐํ•˜๋Š” ๊ฒฝ์šฐ, ์ด๋ฅผ ๋” ๋†’์€ ์šฐ์„ ์ˆœ์œ„์˜ Lane์œผ๋กœ ์Šน๊ฒฉ์‹œ์ผœ ์ตœ์ข…์ ์œผ๋กœ ๋ฐ˜๋“œ์‹œ ์ฒ˜๋ฆฌ๋˜๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค [4]. * **์šฐ์„ ์ˆœ์œ„ ์–ฝํž˜ (Ent[[ANGLE|ANGLE]]ment):** ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์€ ์—…๋ฐ์ดํŠธ๊ฐ€ ๋†’์€ ์šฐ์„ ์ˆœ์œ„์˜ ์—…๋ฐ์ดํŠธ์— ์˜์กดํ•˜๋Š” ๊ฒฝ์šฐ, ๋‘ Lane์„ ์–ฝ์–ด(entangle) ํ•จ๊ป˜ ๋ Œ๋”๋ง๋˜๋„๋ก ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค [4]. * **๋‹ค์ค‘ ์ž‘์—… ์ง„ํ–‰ ๊ด€๋ฆฌ (Multi-WIP [[Management|Management]]):** ๋‹จ์ผ Fiber ๋…ธ๋“œ๊ฐ€ ๊ฐ๊ธฐ ๋‹ค๋ฅธ Lane์— ๋Œ€ํ•ด ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ง„ํ–‰ ์ค‘์ธ ์ž‘์—…(WIP, Work-In-Progress)์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์Šค์ผ€์ค„๋Ÿฌ๋Š” ํ•ญ์ƒ ๊ฐ€์žฅ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ WIP๋ฅผ ๋จผ์ € ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค [8]. * **๋™์‹œ์„ฑ ๊ธฐ๋Šฅ๊ณผ์˜ ์—ฐ๊ณ„:** ์ด ๋ชจ๋ธ์€ `[[useTransition|useTransition]]` ๋ฐ `useDeferredValue`์™€ ๊ฐ™์€ [[React 19|React 19]]์˜ ๋™์‹œ์„ฑ ๊ธฐ๋Šฅ(Concurrent features)์„ ๊ตฌํ˜„ํ•˜๋Š” ํ•ต์‹ฌ ๊ธฐ๋ฐ˜์ž…๋‹ˆ๋‹ค [9, 10]. ์ด ๊ธฐ๋Šฅ๋“ค์€ ๊ธด๊ธ‰ํ•˜์ง€ ์•Š์€ ๋ฌด๊ฑฐ์šด ์—ฐ์‚ฐ์˜ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋‚ฎ์ถค์œผ๋กœ์จ(์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ์—…๋ฐ์ดํŠธ๊ฐ€ ๋„์ฐฉํ•˜๋ฉด ํ•˜์œ„ ์ž‘์—…์€ ์ค‘๋‹จ ๋ฐ ์—ฐ๊ธฐ๋จ), UI์˜ ๋ฐ˜์‘์„ฑ์„ ์ง€์†์ ์œผ๋กœ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค [4, 9, 10]. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - **Related Topics:** [[React Fiber Architecture|React Fiber Architecture]], Concurrent Rendering, Reconciliation, [[Time-Slicing|Time-Slicing]] - **Projects/Contexts:** React Scheduler, [[useTransition|useTransition]], [[useDeferredValue|useDeferredValue]] - **Contradictions/Notes:** ์†Œ์Šค ๋‚ด์— ํŠน๋ณ„ํ•œ ๋ชจ์ˆœ์ ์€ ๋ฐœ๊ฒฌ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. Lane Model์€ ๊ณผ๊ฑฐ React์˜ ๋™๊ธฐ์‹ ์ฐจ๋‹จ(Synchronous [[Blocking|Blocking]]) ๋ Œ๋”๋ง์˜ ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๊ณ  ๊ธด๊ธ‰ํ•œ ์ƒํ˜ธ์ž‘์šฉ๊ณผ ๊ธด๊ธ‰ํ•˜์ง€ ์•Š์€ UI ์ „ํ™˜์„ ํšจ์œจ์ ์œผ๋กœ ๋ถ„๋ฅ˜ํ•˜๊ธฐ ์œ„ํ•ด Fiber ์•„ํ‚คํ…์ฒ˜์™€ ํ•จ๊ป˜ ๋„์ž…๋œ ๊ตฌ์กฐ๋กœ ์ผ๊ด€๋˜๊ฒŒ ์„ค๋ช…๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค [1-3, 11]. --- *Last updated: 2026-04-25* ## ๐Ÿค– LLM ํ™œ์šฉ ํžŒํŠธ (How to Use This Knowledge) **์–ธ์ œ ์ด ์ง€์‹์„ ์“ฐ๋Š”๊ฐ€:** - *(TODO)* **์–ธ์ œ ์“ฐ๋ฉด ์•ˆ ๋˜๋Š”๊ฐ€:** - *(TODO)* ## ๐Ÿงช ๊ฒ€์ฆ ์ƒํƒœ (Validation) - **์ •๋ณด ์ƒํƒœ:** needs_review - **์ถœ์ฒ˜ ์‹ ๋ขฐ๋„:** A - **๊ฒ€ํ†  ์ด์œ :** *(P-Reinforce Phase 1 ์ž๋™ ์ •๊ทœํ™”. ๋ณธ๋ฌธ ๊ฒ€์ฆ ํ•„์š”.)* ## ๐Ÿงฌ ์ค‘๋ณต ๊ฒ€์‚ฌ (Duplicate Check) - **๊ธฐ์กด ์œ ์‚ฌ ๋ฌธ์„œ:** *(TODO: ์ธ๋ฑ์„œ ํด๋Ÿฌ์Šคํ„ฐ ๋ฆฌํฌํŠธ ์ฐธ์กฐ)* - **์ฒ˜๋ฆฌ ๋ฐฉ์‹:** UPDATE (์ž๋™ ์ •๊ทœํ™”) - **์ฒ˜๋ฆฌ ์ด์œ :** Phase 1 ์ •๊ทœํ™” โ€” ์˜› ํ…œํ”Œ๋ฆฟ/๋ˆ„๋ฝ ํ•„๋“œ ๋ณด๊ฐ•. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & Updates) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์—†์Œ - **์ •์ฑ… ๋ณ€ํ™”:** ์—†์Œ ## ๐Ÿ•“ ๋ณ€๊ฒฝ ์ด๋ ฅ (Changelog) | ๋‚ ์งœ | ๋ณ€๊ฒฝ ๋‚ด์šฉ | ์ฒ˜๋ฆฌ ๋ฐฉ์‹ | ์‹ ๋ขฐ๋„ | |------|-----------|-----------|--------| | 2026-05-08 | P-Reinforce Phase 1 ์ •๊ทœํ™” (frontmatter + ํ—ค๋” ํ‘œ์ค€ํ™”) | UPDATE | A | ## ๐Ÿ’ป ์ฝ”๋“œ ํŒจํ„ด (Code Patterns) **ํŒจํ„ด 1:** *(TODO: ์ด ํ”„๋กœ์ ํŠธ ์ปจ๋ฒค์…˜ ๋ฐ˜์˜ํ•œ ๊ตฌ์กฐ ์Šค์ผˆ๋ ˆํ†ค)* ```text # TODO ``` ## ๐Ÿค” ์˜์‚ฌ๊ฒฐ์ • ๊ธฐ์ค€ (Decision Criteria) **์„ ํƒ A๋ฅผ ์จ์•ผ ํ•  ๋•Œ:** - *(TODO)* **์„ ํƒ B๋ฅผ ์จ์•ผ ํ•  ๋•Œ:** - *(TODO)* **๊ธฐ๋ณธ๊ฐ’:** > *(TODO)* ## โŒ ์•ˆํ‹ฐํŒจํ„ด (Anti-Patterns) - **[์•ˆํ‹ฐํŒจํ„ด]:** *(TODO: ๋ฌด์—‡์„ ํ•˜๋ฉด ์•ˆ ๋˜๋Š”๊ฐ€ + ์ด์œ  + ๋Œ€์‹  ๋ฌด์—‡์„)*