--- category: Unified tags: [auto-consolidated, technical-documentation] title: [[Time Slicing|Time Slicing]] last_updated: 2026-05-02 --- # [[Time Slicing|Time Slicing]] ## πŸ“Œ Brief Summary Time Slicing(νƒ€μž„ μŠ¬λΌμ΄μ‹±)은 Reactμ—μ„œ λŒ€κ·œλͺ¨ λ Œλ”λ§ μ—…λ°μ΄νŠΈ μž‘μ—…μ„ 더 μž‘μ€ λ‹¨μœ„(청크)둜 λΆ„ν• ν•˜μ—¬ UI의 λ°˜μ‘μ„±μ„ μœ μ§€ν•˜λŠ” μ΅œμ ν™” κΈ°λ²•μž…λ‹ˆλ‹€ [1, 2]. 이 κΈ°λŠ₯을 톡해 ReactλŠ” λ Œλ”λ§ μž‘μ—…μ„ μΌμ‹œ μ€‘μ§€ν•˜κ³  μ‚¬μš©μž μž…λ ₯ λ“± μš°μ„ μˆœμœ„κ°€ 높은 μž‘μ—…μ„ μœ„ν•΄ λΈŒλΌμš°μ €μ— μ œμ–΄κΆŒμ„ λ„˜κΈ΄ ν›„, μ€‘λ‹¨λœ μœ„μΉ˜λΆ€ν„° λ Œλ”λ§μ„ λ‹€μ‹œ μž¬κ°œν•  수 μžˆμŠ΅λ‹ˆλ‹€ [3]. 결과적으둜 λ™μ‹œμ„± λ Œλ”λ§([[Concurrent Rendering|Concurrent Rendering]])κ³Ό ν•¨κ»˜ μž‘λ™ν•˜μ—¬ λ³΅μž‘ν•œ μ—…λ°μ΄νŠΈ μƒν™©μ—μ„œλ„ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ λ©ˆμΆ”μ§€ μ•Šκ³  μ›ν™œν•˜κ²Œ λ™μž‘ν•˜λ„λ‘ 보μž₯ν•©λ‹ˆλ‹€ [4]. --- νƒ€μž„ μŠ¬λΌμ΄μ‹±(Time-Slicing)은 λŒ€κ·œλͺ¨ λ Œλ”λ§ μž‘μ—…μ„ 더 μž‘μ€ 쑰각(chunk)으둜 λΆ„ν• ν•˜μ—¬ μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€(UI)의 λ°˜μ‘μ„±μ„ μœ μ§€ν•˜λŠ” React의 μ΅œμ‹  κΈ°λŠ₯μž…λ‹ˆλ‹€ [1, 2]. 이 κΈ°λŠ₯을 톡해 ReactλŠ” λ Œλ”λ§ ν”„λ‘œμ„ΈμŠ€λ₯Ό μΌμ‹œ μ€‘μ§€ν•˜κ³ , 클릭 이벀트 μ²˜λ¦¬μ™€ 같은 μš°μ„ μˆœμœ„κ°€ 높은 μž‘μ—…μ„ μœ„ν•΄ λΈŒλΌμš°μ €μ— μ œμ–΄κΆŒμ„ 양보(yield)ν•œ λ’€ μ€‘λ‹¨λœ λΆ€λΆ„λΆ€ν„° λ‹€μ‹œ λ Œλ”λ§μ„ μž¬κ°œν•  수 μžˆμŠ΅λ‹ˆλ‹€ [3]. νƒ€μž„ μŠ¬λΌμ΄μ‹±μ€ 메인 μŠ€λ ˆλ“œκ°€ μ°¨λ‹¨λ˜λŠ” 것을 λ°©μ§€ν•˜κ³  λ™μ‹œμ„± λ Œλ”λ§([[Concurrent Rendering|Concurrent Rendering]])을 κ°€λŠ₯ν•˜κ²Œ ν•˜λŠ” 핡심 λ©”μ»€λ‹ˆμ¦˜μž…λ‹ˆλ‹€ [1, 3, 4]. ## πŸ“– Core Content * **μž‘μ—…μ˜ λΆ„ν• κ³Ό μ œμ–΄κΆŒ 양보 (Yielding):** Time Slicing은 κΈ΄ μ‹œκ°„μ΄ μ†Œμš”λ˜λŠ” λŒ€κ·œλͺ¨ μ—…λ°μ΄νŠΈλ₯Ό 더 μž‘μ€ 청크(chunk) λ‹¨μœ„λ‘œ μͺΌκ°œμ–΄ μ²˜λ¦¬ν•©λ‹ˆλ‹€ [1, 2]. 이λ₯Ό 톡해 ReactλŠ” λ Œλ”λ§ μž‘μ—…μ„ μˆ˜ν–‰ν•˜λŠ” 도쀑에 λΈŒλΌμš°μ €λ‘œ μ œμ–΄κΆŒμ„ 양보(yield)ν•  수 μžˆμ–΄ 메인 μŠ€λ ˆλ“œκ°€ μž₯μ‹œκ°„ μ°¨λ‹¨λ˜λŠ” 것을 λ°©μ§€ν•©λ‹ˆλ‹€ [2]. * **μš°μ„ μˆœμœ„ 기반 λ Œλ”λ§ (Lane-Based Priority):** 이 과정은 React의 Fiber μ•„ν‚€ν…μ²˜ λ‚΄μ—μ„œ "Lanes(레인)"라고 λΆˆλ¦¬λŠ” μš°μ„ μˆœμœ„ 기반 μ‹œμŠ€ν…œμ„ 톡해 κ΄€λ¦¬λ©λ‹ˆλ‹€ [3]. 클릭 μ΄λ²€νŠΈλ‚˜ 타이핑 같은 μš°μ„ μˆœμœ„κ°€ 높은 μž‘μ—…μ΄ λ°œμƒν•˜λ©΄, μ§„ν–‰ μ€‘μ΄λ˜ λ Œλ”λ§μ„ μΌμ‹œ μ€‘μ§€ν•˜κ³  κΈ΄κΈ‰ν•œ μž‘μ—…μ„ λ¨Όμ € μ²˜λ¦¬ν•œ λ’€ 남은 λ Œλ”λ§μ„ μ΄μ–΄μ„œ μ§„ν–‰ν•©λ‹ˆλ‹€ [3]. * **μ„±λŠ₯ 및 UI λ°˜μ‘μ„± ν–₯상:** Time Slicing은 λ™μ‹œμ„± λ Œλ”λ§(Concurrent Rendering) 및 점진적 λ Œλ”λ§(Incremental Rendering) μ•„ν‚€ν…μ²˜μ™€ κΈ΄λ°€ν•˜κ²Œ κ²°ν•©λ˜μ–΄ μž‘λ™ν•©λ‹ˆλ‹€ [4]. μ΄λ“€μ˜ 쑰합은 λ³΅μž‘ν•˜κ³  무거운 UI μ—…λ°μ΄νŠΈκ°€ μˆ˜ν–‰λ˜λŠ” λ™μ•ˆμ—λ„ μ•±μ˜ 응닡성을 μœ μ§€μ‹œμΌœ μ‚¬μš©μž κ²½ν—˜μ„ 크게 ν–₯μƒμ‹œν‚΅λ‹ˆλ‹€ [4]. --- - **λ Œλ”λ§ μž‘μ—…μ˜ λΆ„ν•  및 양보(Yielding):** React의 νƒ€μž„ μŠ¬λΌμ΄μ‹±μ€ 크고 λ³΅μž‘ν•œ μƒνƒœ μ—…λ°μ΄νŠΈλ₯Ό 단일 ν†΅μ§Έλ‘œ μ²˜λ¦¬ν•˜λŠ” λŒ€μ‹  μž‘μ€ λ‹¨μœ„λ‘œ μͺΌκ°­λ‹ˆλ‹€ [2]. 이λ₯Ό 톡해 ReactλŠ” μž‘μ—… μ€‘κ°„λ§ˆλ‹€ λΈŒλΌμš°μ €μ— μ œμ–΄κΆŒμ„ 양보할 수 있으며, μ‚¬μš©μž μž…λ ₯(타이핑, 클릭 λ“±)κ³Ό 같은 κΈ΄κΈ‰ν•œ μƒν˜Έμž‘μš©μ΄ λ Œλ”λ§ μž‘μ—…μœΌλ‘œ 인해 μ§€μ—°λ˜κ±°λ‚˜ λ©ˆμΆ”λŠ” ν˜„μƒμ„ λ°©μ§€ν•©λ‹ˆλ‹€ [2, 3]. - **Fiber μ•„ν‚€ν…μ²˜μ™€μ˜ 연계:** νƒ€μž„ μŠ¬λΌμ΄μ‹±μ€ React 16μ—μ„œ 동기식(synchronous) λ Œλ”λ§μ˜ ν•œκ³„λ₯Ό κ·Ήλ³΅ν•˜κΈ° μœ„ν•΄ λ„μž…λœ νŒŒμ΄λ²„(Fiber) μ•„ν‚€ν…μ²˜μ— μ˜ν•΄ ν™œμ„±ν™”λ©λ‹ˆλ‹€ [3, 4]. νŒŒμ΄λ²„ μ•„ν‚€ν…μ²˜ ν•˜μ—μ„œ λ Œλ”λŸ¬λŠ” μž‘μ—…μ„ 관리 κ°€λŠ₯ν•œ 'μž‘μ—… λ‹¨μœ„(units of work)'둜 λ‚˜λˆ„μ–΄ μŠ€μΌ€μ€„λŸ¬κ°€ λ Œλ”λ§ 과정을 더 μœ μ—°ν•˜κ²Œ μ œμ–΄ν•  수 μžˆλ„λ‘ ν•©λ‹ˆλ‹€ [3, 5]. - **Lanes 기반 μš°μ„ μˆœμœ„ μ‹œμŠ€ν…œ:** νƒ€μž„ μŠ¬λΌμ΄μ‹±μ„ ν†΅ν•œ μž‘μ—…μ˜ μΌμ‹œ 쀑지 및 μž¬κ°œλŠ” 'Lanes'라고 λΆˆλ¦¬λŠ” μš°μ„ μˆœμœ„ 기반 μ‹œμŠ€ν…œμ„ 톡해 κ΄€λ¦¬λ©λ‹ˆλ‹€ [3]. 예λ₯Ό λ“€μ–΄, μ‚¬μš©μžμ˜ ν΄λ¦­μ΄λ‚˜ νƒ€μ΄ν•‘μ²˜λŸΌ 즉각적인 λ°˜μ‘μ΄ ν•„μš”ν•œ μž‘μ—…μ€ 'Sync Lane'으둜 λΆ„λ₯˜λ˜μ–΄ μ¦‰μ‹œ 처리되며, ν™”λ©΄ λ°– λ Œλ”λ§κ³Ό 같은 λΉ„κΈ΄κΈ‰ μž‘μ—…μ€ 'Idle Lane'에 ν• λ‹Ήλ˜μ–΄ λΈŒλΌμš°μ €κ°€ 유휴 μƒνƒœμΌ λ•Œλ§Œ μ²˜λ¦¬λ˜λ„λ‘ μš°μ„ μˆœμœ„λ₯Ό μ§€μ •ν•©λ‹ˆλ‹€ [6, 7]. - **λ™μ‹œμ„± 및 점진적 λ Œλ”λ§ 달성:** νƒ€μž„ μŠ¬λΌμ΄μ‹±μ€ λ™μ‹œμ„± λ Œλ”λ§(Concurrent Rendering) 및 점진적 λ Œλ”λ§(Incremental Rendering)κ³Ό κ²°ν•©ν•˜μ—¬, λ³΅μž‘ν•˜κ³  무거운 μ—…λ°μ΄νŠΈκ°€ λ°œμƒν•˜λ”λΌλ„ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ 항상 λΆ€λ“œλŸ½κ³  응닡성 있게 λ™μž‘ν•˜λ„λ‘ 보μž₯ν•©λ‹ˆλ‹€ [1, 8]. ## βš–οΈ Trade-offs & Caveats No trade-offs available. ## πŸ”— Knowledge Connections - **Related Topics:** [[Fiber Architecture|Fiber Architecture]], [[Concurrent Rendering|Concurrent Rendering]], Lanes - **Projects/Contexts:** React - **Contradictions/Notes:** μ†ŒμŠ€μ— κ΄€λ ¨ 정보가 λΆ€μ‘±ν•©λ‹ˆλ‹€. --- *Last updated: 2026-04-25* --- - **Related Topics:** [[React Fiber Architecture|React Fiber Architecture]], [[Concurrent Rendering|Concurrent Rendering]], Lanes PrioritySystem, Incremental Rendering - **Projects/Contexts:** React Scheduler - **Contradictions/Notes:** μ†ŒμŠ€ λ‚΄μ—μ„œ νƒ€μž„ μŠ¬λΌμ΄μ‹±κ³Ό κ΄€λ ¨ν•˜μ—¬ μƒμΆ©λ˜λŠ” μ •λ³΄λŠ” μ—†μŠ΅λ‹ˆλ‹€. --- *Last updated: 2026-04-25*