초기 예산
timeout nanos호출자가 허용한 전체 시간을 나노초로 바꾼다.
한 번 정한 전체 마감 시간이 임의 복귀와 잠금 경쟁으로 늘어나면 안 된다.
timeout nanos호출자가 허용한 전체 시간을 나노초로 바꾼다.
awaitNanos대기 후 반환된 잔여 시간을 받는다.
value < target목표 미달이면 남은 예산으로 반복한다.
remaining <= 0시간이 끝나면 상태 변경 없이 실패를 반환한다.
핵심: 매 반복마다 원래 제한 시간을 다시 주면 총 대기 상한이 사라진다.