하나의 마감 시각으로 기다리기

각 Future에 같은 timeout을 주면 전체 대기가 작업 수만큼 늘어날 수 있다.

1

시작

deadline 계산

전체 응답 예산을 고정한다.

2

첫 회수

remaining 계산

현재 시각을 빼 남은 시간만 쓴다.

3

다음 회수

예산 재계산

앞 대기만큼 제한이 줄어든다.

4

기한 도달

남은 작업 취소

호출자 응답을 마무리한다.

핵심: 시간 예산은 각 작업에 새로 지급하지 않고 요청 전체가 공유한다.