메인 스레드 양보는 응답성을 높여도 총 작업량을 줄이지 않는다

같은 일을 여러 태스크로 나누어 제어권을 양보하면 입력·렌더링이 실행될 기회를 얻지만, 처리할 작업 자체를 없애지는 않으며 전체 완료 시간이 줄어든다는 보장은 없다. 응답성·점유 시간·총 작업량·완료 시간을 구분해 최적화를 판단한다.

실제 태스크 경계를 만들기

함수를 나눠 같은 동기 실행 안에서 호출하는 것만으로 제어권이 넘어가지는 않는다. 태스크 경계에서 실제로 양보해야 다른 작업이 실행될 기회가 생긴다. 지나치게 자주 양보하면 재개 비용이 누적될 수 있고, 쪼갤 수 없는 동기 호출은 다른 전략이 필요하다.

작업 분할은 언제 실행할지를 바꾸는 선택이다. 중복 계산·불필요한 작업을 제거하는 것은 해야 할 양을 바꾸며, 별도 스레드로 옮기는 것은 실행 위치와 전달 비용을 바꾼다. 목적에 따라 여러 전략을 조합하고 실제 사용자 응답과 전체 완료 시간을 각각 확인한다.

근거와 연결