공유 deadline은 세 worker의 총 회수 시간을 제한한다

각 thread에 같은 timeout을 주면 전체 대기가 세 배가 될 수 있어 남은 시간을 다시 계산합니다.

  1. 1

    예산

    deadline = now + 300ms

  2. 2

    worker 1

    join(remaining)

  3. 3

    남은 시간

    deadline - now

  4. 4

    worker 2·3

    각 remaining으로 join

  5. 5

    만료

    미완료 목록 처리

핵심: 남은 시간이 0이면 추가 대기 없이 미완료 정책으로 넘어갑니다.