하나를 시작하자마자 join하면 사실상 직렬 실행이 되므로 먼저 모두 시작하고 나중에 회수합니다.
작업·결과 슬롯 연결
모든 worker 실행
각 완료 회수
result·exception
완료된 값 소비
핵심: join 중 interrupt가 나면 취소·복원·상위 전달 정책을 일관되게 적용합니다.