Files
2nd/10_Wiki/Topics/Architecture/Time_Slicing.md
T

5.1 KiB

category, tags, title, last_updated
category tags title last_updated
Unified
auto-consolidated
technical-documentation
Time Slicing|Time Slicing
2026-05-02

Time Slicing

📌 Brief Summary

Time Slicing(타임 슬라이싱)은 React에서 대규모 렌더링 업데이트 작업을 더 작은 단위(청크)로 분할하여 UI의 반응성을 유지하는 최적화 기법입니다 [1, 2]. 이 기능을 통해 React는 렌더링 작업을 일시 중지하고 사용자 입력 등 우선순위가 높은 작업을 위해 브라우저에 제어권을 넘긴 후, 중단된 위치부터 렌더링을 다시 재개할 수 있습니다 [3]. 결과적으로 동시성 렌더링(Concurrent Rendering)과 함께 작동하여 복잡한 업데이트 상황에서도 애플리케이션이 멈추지 않고 원활하게 동작하도록 보장합니다 [4].


타임 슬라이싱(Time-Slicing)은 대규모 렌더링 작업을 더 작은 조각(chunk)으로 분할하여 사용자 인터페이스(UI)의 반응성을 유지하는 React의 최신 기능입니다 [1, 2]. 이 기능을 통해 React는 렌더링 프로세스를 일시 중지하고, 클릭 이벤트 처리와 같은 우선순위가 높은 작업을 위해 브라우저에 제어권을 양보(yield)한 뒤 중단된 부분부터 다시 렌더링을 재개할 수 있습니다 [3]. 타임 슬라이싱은 메인 스레드가 차단되는 것을 방지하고 동시성 렌더링(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


Last updated: 2026-04-25


  • Related Topics: React Fiber Architecture, Concurrent Rendering, Lanes PrioritySystem, Incremental Rendering
  • Projects/Contexts: React Scheduler
  • Contradictions/Notes: 소스 내에서 타임 슬라이싱과 관련하여 상충되는 정보는 없습니다.

Last updated: 2026-04-25